IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 2021-08-22 -> 正文阅读

[Java知识库]2021-08-22

数据类型与运算符知识总结【Java】

1,java中把函数叫作方法,这与C语言的叫法有差异,但使用规则相同,只不过不用声明,相对C语言,使用更方便一些。
,2,java中没有无符号数的概念,C语言中,二进制运算部分总是牵扯到无符号数概念,忽略这个概念可能导致对结果的误判。
3,java中拥有包装类和基本类两个概念,通俗点说包装类是定义对象的,调用需要引用对象地址,而基本类型则不需要,与C语言中使用方法类似。
4,每种基本类型有对应的包装类,
byte,1个字节,对应包装类Byte;
int,4个字节,对应包装类Integer;
long ,8个字节,对应包装类Long,但要注意赋值形式为 long a=100 L,后面带L,否则会被编译器判别为类型错误;
double ,8字节,对应包装类Double,可以精确到11位;
float, 4字节,对应包装类Float ,赋值形式为 float f=12.5 f,如果不带后面的f,会被编译器默认12.5为double,就会报错;
char ,2字节,对应包装类 Character,相对于C语言里的char,它可以放汉字,因为用的是unicode 表 ,但是char类型不能存负数;
short ,2字节,对应包装类 Short;
boolean ,JVM标准中未说明这个类型几个字节,包装类Boolean,它只有 true和false两个值(java中没有 0是假,非0是真这一说,这个与C语言有着本质区别)。
5,java中使用数据类型时,有两个点必须要注意:局部变量使用时必须初始化,否则编译不通过;任何类型赋值不能超过取值范围。
6,数据类型分,基本/内置/简单类型(有整数,小数,字符), 和引用类型(字符串,数组, 类,接口,枚举)。基本类型和引用类型将在后期进一步阐释差别。
7,字符串的包装类是String,字符串和任何类型的数据用加号拼接后还是字符串。

 public static void main6(String[] args) {
   
        int a=10;
         int b=20;
        System.out.println("a="+10);
        System.out.println("hello"+a+b);
    

图1
可以看到,第一个计算表达式,得到的是a=10,而不是20;
第二个计算表达式,得到的是hello1020,而并没有经过运算,这就是我要说的,字符串和任何类型的数据用加号拼接后还是字符串。
当然字符串还有一个特性就是,如果字符串在前面,那么整个就是字符串字;如果符串在后面,它就会先运算,再拼接,最后形成字符串;

8,java中变量定义默认采用小驼峰的形式,即 numDig形式,
大驼峰 即 NumDig ,但任何时候不要用拼音命名,大驼峰用于类名。

9,C语言中 用const修饰常量, java用 final 修饰常量,要放类前面,比如 final int A=10,一经final修饰,A就成了常量, 常量值不能改。final修饰变量最好用大写,方便辨识。
10,数据类型的赋值与类型转换过程中,还有一些需要注意,
比如,小字节数可以赋给大字节变量,但大字节赋值给小字节变量,必须要强制类型转换;
低精度赋给高精度的变量也不可以,但反过来可以;
boolean类型不能和其他任何类型转换。
11,运算中的整形提升问题,这个在C语言中也会遇到,程序为了提高运算效率,就会把小于整形类型,提升为整形后再进行运算,但这就造成了运算后,等号两边数据类型不匹配,导致出现问题。比如,两个byte变量运算后会变成整形,需要强制类型转换为byte,如下图代码所示:

 public static void main9(String[] args) {
        byte a=10;
        byte b=21;
        //byte c=a+b;//这里要注意,它是计算后变为int型,导致两边类型不匹配
        //变量在程序运行的时候才知道数值,而在编译时就能知道结果的,就不会牵扯到整形提升 final 定义的常量就在编译过程进行
    }

12,整形与字符串的互相转换,
int 转string ,String str1=num+""
或者 String str2=String.valueOf(整形变量)
string转int, int a=Integer.valueOf(str)
或者 int ret= Integer.parseInt(str)

  public static void main10(String[] args) {
        int a=10;
        String str1=a+"";//类型转换方法1
        System.out.println(str1);
        String str3=String.valueOf(a);//这样可以直接把任何类型转化为字符串(类型转换方法2)
        System.out.println(str3);

        //字符串转整数
        String str="123";
        int b=Integer.valueOf(str)+1;
        System.out.println(b);
    }

13,写代码过程中,总会出错,在C语言中,错误称为bug,而java中称为换异常,比如除数不能为0,不然会显示算数(Arithmetic)异常。要注意的是,只要程序某一行出错,剩下代码都将不会被执行。
14,运算符,类似于+=,-= 形式的称为复合运算符,使用复合运算符的一大好处是,程序会自动进行强制类型转换,就不会出现前面讲的,整形提升后出错。有一个特殊案例,int a=10,a=a++ ,输出结果 a=10,这与C语言结果是不同的。

 public static void main(String[] args) {
        //System.out.println(1/0);
        short sh=10;
        sh+=19;//复合运算一大好处就是它会帮你进行强转
        System.out.println(sh);

        int a=10;
        int b=10;
        b=b++;//通过传值++的 ,不会把结果传过去,这个与C是不同的
        a++;//不通过传值的,结果加1
        System.out.println(a);
        System.out.println(b);
    }

可以看下运行结果
图2
可以看到,b在++后得到的仍然是10,这与C语言中的结果是不同的,具体原因,将在后面讲到。

15,在java中,关系表达式的结果,只会是true 或 false。
以&&表达式为例,表达式1和表达式2只能是关系表达式(必须是布尔类型),并且表达式1为假就不再执行2。
16,介绍一个运算符,>>> ,它被称为无符号右移位运算符,即无论正负数,右移统统补0。
17,三目运算符,这个也与C语言中用法相同,
表达式1?表达式2:表达式3 ,只不过 表达式1必须为关系表达式。
18,注释,java注释分三种:
\ 单行注释,用的注释
* \ 多行注释,不推荐用,
*
*\ 文档注释,可自动生成文档
大段注释,ctrl shift \
行注释,ctrl \

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-23 16:31:00  更:2021-08-23 16:32:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 9:35:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码