【一步一步了解Java系列】:探索Java基本类型与C语言的区别

 

看到这句话的时候证明:此刻你我都在努力~

                                 加油陌生人~

个人主页:  Gu Gu Study                                                   

专栏:一步一步了解Java

喜欢的一句话: 常常会回顾努力的自己,所以要为自己的努力留下足迹。

如果喜欢能否点个赞支持一下,谢谢啦!

                                                                                                                作者:小闭

目录

java基本数据类型

基本数据类型

变量


java基本数据类型

Java数据类型大多数与C语言还是大同小异的,但今天要讲的就是”小异“。

首先我们先讲一下字面常量。先看一下一段代码:

public class Test {public static void main(String[] args) {System.out.println("hello world");System.out.println(18);System.out.println('A');System.out.println(18.8);System.out.println(true);System.out.println(20.1f);}}

 

 我们看到打印结果就是我们放在 System.out.println(); 括号里的数据,那么这里我填入的”18“,” A'“,"18.8","true","20.1f",都为字面常量。


数据类型分为基本数据类型和引用数据类型,但先我要学习的是基本数据类型

基本数据类型

基本数据类型分得更细的为四类,八种,那么接下来就仔细讲讲着四类,八种

四类为:整型、浮点型、字符型以及布尔型

我们将byte,short,int,long,称作四类中的整形。char,double为浮点型,char为字符型,boolean为布尔型

八种为:

数据类型                      关键字                        内存占用                       范围

字节型                           byte                          1 字节                         -128 ~ 127        

 短整型                         short                          2 字节                         -32768 ~ 32767

 整型                              int                             4 字节                         ~

长整型                           long                          8 字节                         ~

单精度浮点数                 float                         4 字节                        有范围,一般不关注   

 双精度浮点数               double                     8 字节                         有范围,一般不关注

字符型                           char                         2 字节                         0 ~ 65535

布尔型                          boolean                没有明确规定                 true 和 false

 不论是在16位系统还是32位系统,int都占用4个字节,long都占8个字节

整形和浮点型都是带有符号的 整型默认为int型

如8,默认为整形8

浮点型默认为double 字符串属于引用类型,该中类型后序介绍。

如8.0,默认8.0为double而不是float,8.0f才是float型。

如图给变量赋值时,类型不对会导致编译器报错。 


变量

在程序中,除了有始终不变的常量外,有些内容可能会经常改变,比如:人的年龄、身高、成绩分数、数学函数的 计算结果等,对于这些经常改变的内容,在Java程序中,称为变量。而数据类型就是用来定义不同种类变量的。


整形变量

public class Test {public static void main(String[] args) {int a=10;short b=10;long c=10;byte d=10;System.out.println(Integer.MAX_VALUE);System.out.println(Short.MAX_VALUE);System.out.println(Long.MAX_VALUE);System.out.println(Byte.MAX_VALUE);}
}

  

       System.out.println(Integer.MAX_VALUE);
        System.out.println(Short.MAX_VALUE);
        System.out.println(Long.MAX_VALUE);
        System.out.println(Byte.MAX_VALUE);

以上代码表示打印各自的最大值

  •  int不论在何种系统下都是4个字节
  •  推荐使用方式一定义,如果没有合适的初始值,可以设置为0
  • 在给变量设置初始值时,值不能超过int的表示范围,否则会导致溢出
  •  变量在使用之前必须要赋初值,否则编译报错
  •  int的包装类型为 Integer,其它整形的包装类就是改变首字母为大写而已

单精度浮点数float变量
 

float num = 1.0f; // 写作 1.0F 也可以System.out.println(num);

float 类型在 Java 中占四个字节, 同样遵守 IEEE 754 标准. 由于表示的数据精度范围较小, 一般在工程上用到浮点数 都优先考虑 double, 不太推荐使用 float. float的包装类型为Float。 


双精度浮点数double变量

  double a=8.0;//也可以是8.0d,或8.0D。System.out.println(a);

字符型char变量

 char a='Q';char b='闭';System.out.println(a);

注意:在Java是占两个字节的,也就是字符型可以储存一个汉字了,一个汉字是占两个字节的。

计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此 一个字符占用两个字节, 表示的字符种类更多, 包括中文

 


布尔类型boolean变量

boolean b = true;
System.out.println(b);
b = false;
System.out.println(b)

注意:布尔类型只有true和false,不能和C语言一样,0表示假,非0表示真 。


下一期我们讲一下类型转换,今天就结束了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/4794.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++初阶之类和对象(下)

一、构造函数 1、构造函数体赋值 在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。 class Date { public:Date(int year, int month, int day){_year year;_month month;_day day;} private:int _year;int _month;int _…

小程序API wx.startLocationUpdateBackground 的使用

若使用该接口,需要在 app.json 中进行声明 requiredPrivateInfos: [getLocation,onLocationChange,startLocationUpdate,startLocationUpdateBackground],requiredBackgroundModes: [audio,location],代码: 1、使用wx.startLocationUpdateBackground需要…

LeetCode 344.反转字符串

LeetCode 344.反转字符串 1、题目 题目链接:344. 反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一…

Java对象在堆和栈上的存储(对象布局,待完善)

0、前言 这里提到的 Java 对象不仅仅包含引用类型(Object),还包含基本数据类型(boolean、int、long、float、double)。文中部分图片来源于 B站 黑马程序员。 1、在栈上的数据存储 1.1、局部变量 局部变量包含以下情…

2024最新docker部署gitlab

docker部署gitlab 快速命令 1 拉取镜像 docker pull gitlab/gitlab-ce2 启动容器 docker run -itd \-p 9980:80 \-p 9922:22 \-v /opt/soft/docker/gitlab/etc:/etc/gitlab \-v /opt/soft/docker/gitlab/log:/var/log/gitlab \-v /opt/soft/docker/gitlab/opt:/var/opt/g…

20个 Golang 常见面试问题

1 Goroutine 在 Golang中的作用是什么? Goroutines 使得 Golang 能够并发执行多线程任务,允许函数在不相互阻塞的情况下同时运行。 2 如何在 Golang 中处理共享资源的并发访问? Golang 提供了同步原语,如互斥锁(mu…

Vite proxy-rewrite 属性详解

在前端开发中,为了避免跨域问题,我们会在vite.config.ts 中配置如下问题 rewrite: 由于不了解Nginx的知识,这个属性一直困扰着我,这个重写有啥用,加和不加有啥影响 server: {host: 0.0.0.0,proxy: {/api: {target: ht…

操作系统安全:安全审计,Windows系统日志详解,Windows事件ID汇总

「作者简介」:2022年北京冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础对安全知识体系进行总结与归纳,著作适用于快速入门的 《网络安全自学教程》,内容涵盖系统安全、信息收集等…

从零开始安装 stable diffusion webui v1.9.3 (windows10)

从零开始安装 stable diffusion webui v1.9.3 (windows10) CUDA 安装 CUDA 12.1 | https://developer.nvidia.com/cuda-toolkit-archive CUDNN 8.x | https://developer.nvidia.com/rdp/cudnn-archive 安装路径 F:/CUDA/v12.1 安装git git官网 | https://git-scm.com/ 安…

数据结构-二叉搜索树(BST)

目录 什么是二叉搜索树 二叉搜索树的特性 (1)顺序性 (2)局限性 二叉搜索树的应用 二叉搜索树的操作 (1)查找节点 (2)插入节点 (3)删除节点 (4)中序遍历 什么是二叉搜索树 如图所示,二叉搜索树(binary search tree)满足以下条件。…

【EI会议|稳定检索】2024年航空航天、空气动力学与自动化工程国际会议(ICAAAE 2024)

2024 International Conference on Aerospace, Aerodynamics, and Automation Engineering 一、大会信息 会议名称:2024年航空航天、空气动力学与自动化工程国际会议 会议简称:ICAAAE 2024 收录检索:提交Ei Compendex,CPCI,CNKI,Google Schol…

WebGL开发框架比较

WebGL开发框架提供了一套丰富的工具和API,使得在Web浏览器中创建和操作3D图形变得更加容易。以下是一些流行的WebGL开发框架及其各自的优缺点。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.Three.js 优点&#xff1a…

装饰器模式、代理模式、适配器模式对比

装饰器模式、代理模式和适配器模式都是结构型设计模式,它们的主要目标都是将将类或对象按某种布局组成更大的结构,使得程序结构更加清晰。这里将装饰器模式、代理模式和适配器模式进行比较,主要是因为三个设计模式的类图结构相似度较高、且功…

VitePress 构建的博客如何部署到 github 平台?

VitePress 构建的博客如何部署到 github 平台? 1. 新建 github 项目 2. 构建 VitePress 项目 2.1. 设置 config 中的 base 由于我们的项目名称为 vite-press-demo,所以我们把 base 设置为 /vite-press-demo/,需注意前后 / export default…

Docker容器:搭建LNMP架构

目录 前言 1、任务要求 2、Nginx 镜像创建 2.1 建立工作目录并上传相关安装包 2.2 编写 Nginx Dockerfile 脚本 2.3 准备 nginx.conf 配置文件 2.4 生成镜像 2.5 创建 Nginx 镜像的容器 2.6 验证nginx 3、Mysql 镜像创建 3.1 建立工作目录并上传相关安装包 3.2 编写…

设计模式(三)、模板方法设计模式

模式定义 模板方法模式(Template Method Pattern):定义一个操作中算法的框架而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤 模式结构 模板方法模式包含如下角色: AbstractClass: 抽象类 ConcreteClass:具体…

SSH远程直连服务器docker容器的jupyter

SSH远程直连服务器docker容器的jupyter 动机:最近在公司服务器使用jupyter出现了点问题,也不知道怎么回事,jupyter lab打开都没问题,但是准备打开一个ipynb文件时就卡住了,啥反应没有,ctrlC 也不能关掉jupy…

JAVA——抽象类

抽象类 Java中的抽象类是一种特殊的类,它不能被实例化,即不能直接创建对象,只能作为其他类的基类(父类)来使用。抽象类主要用于定义一些通用的属性和方法,这些方法可以在子类中得到具体的实现。 抽象类使…

通过iptables限制docker 容器的运行端口

通过在iptables DOCKER-USER 添加规则,即可实现所有外部网络都无法访问docker中的服务: iptables -I DOCKER-USER -i enp0s3 -j DROP 规则:所有从外部网络进入的数据包,直接被丢弃。 DOCKER-USER链是上述FORWARD链中第一个规则匹…

java案例-读取xml文件

需求 导入依赖 <dependencies><!-- dom4j --><dependency><groupId>dom4j</groupId><artifactId>dom4j</artifactId><version>1.6.1</version></dependency> </dependencies>代码 SAXReader saxReade…