java条件运算符类型转换_Java数据类型、运算符及类型转换

一.标识符

作用:常量、变量、方法、类和包等的名称

命名规范:

1.必须以数字、字母、下划线或$符号开头

2.其他部分必须是数字、字母、下划线或$,不能出现特殊符号

3.标识符大小写敏感

4.不可以是Java的关键字

常规建议

1.驼峰标识:

类名、接口名称在命名时要首字母大写

方法、变量命名的时候首字母要小写

多个单词拼接标识一个标识符的时候,每个单词的首字符都要大写

2.见名知意:通过标识符的名称能知道代表的含义,不要写拼音

二.关键字/保留字

042dab10b9a8be8075f0e13c3d2de8da.png

Java关键字是Java语言保留供内部使用的(不要刻意去背)

三.Java基本数据类型

Java是一种强类型语言:变量都必须声明其数据类型

弱类型语言:js、php等不需要声明基本类型,可以用var定义

80025b0b06cf9a2d7b56beeff9622e73.png

整数类型:

byte:使用一个字节存储,范围是-128-127

short:使用两个字节存储,范围是-32768-32767

int:使用四个字节存储,范围是正负21亿

long:使用八个字节存储,范围很大

注意:整数类型默认int类型,在声明long型常量时可以加‘l’或‘L’

浮点类型:

float:单精度

double:双精度

注意:浮点类型默认double类型,在声明float型常量时可以加‘f’或‘F’

浮点类型并不能表示一个精确的值,会损失一定的精度

字符型:

char:占用两个字节,使用的时候使用‘’单引号使用

常用转义符:\n(换行)、\t(相当于tab键)

布尔型:

boolean:只有true和false两值,在存储的时候占一位,不是一个字节

四.常量和变量

常量:在程序运行过程中,值不会发生改变的量

赋给变量的值称为常量

注意:使用final关键字修饰的变量称之为常量或者叫做最终常量,表示不可修改

变量:在程序运行过程中,值会发生改变的量

变量可以先声明后赋值(int a;  a = 10;),也可以边声明边赋值(int a = 10;)

五.运算符

算数运算符:+、-、*、/、%(取余数)、++(自增加1)、--(自增减1)

例题:int a = 2;    System.out.println(++a+a++);      答案:6

解答:++的优先级高于+,先计算++a,a的值为3,后计算a++,此时a在++前,先与之前的a相加后再自身加1

赋值运算符:=

扩展赋值运算符:+=、-=、*=、/=

注意:byte a = 1; 计算 a = a+1;涉及到类型转换,会报错

a += 1;使用扩展赋值运算符不会报错

关系运算符:>、=、<=、==、!=  (该类型只会返回boolean类型的值)

逻辑运算符:&&、||、!

&&:短路与,表达式从左向右开始对比,若左边的表达式为false,右边不需要进行判断

||:短路或,表达式从左向右开始对比,若左边的表达式为true,右边不需要进行判断

位运算符:&、|、^、~、>>、<>>(了解)

若两个数字进行位运算符,操作的时候会转换为二进制进行运算

&运算:有0为0          |运算:有1为1           ^运算:相异为1相同为0

~运算:进行取反       <>运算:数字变为二进制右移

例题:System.out.println(~4)           答案:-5

解答:4的原码为:00000100、进行取反得到补码为:11111011、补码-1得到反码:11111010、取反得到原码:10000101=-5

条件运算符:? :(三目运算符,表达式为true返回?后的值,表达式为false返回:后的值)

例题:System.out.println(true?false:true?false:true);      答案:false

System.out.println(false?false:true?false:true);      答案:false

六.运算符的优先级

41c132a2b7eef8af1816c63c3d77f4e8.png

括号的优先级是最高的

++、--的优先级高于+、-

注意:这个顺序不需要记住,在现实生产环境中,如果我们没有记住顺序,只需要将需要优先计算的运算式加上括号即可

七.原码、补码、反码

原码:指将最高位作为符号位(0表示正、1表示负),其他数字位由二进制转换为十进制

例如:数字6在计算机中的原码为:00000110

数字-6在计算机中的原码为:10000110

以上是在8位计算机中的原码表示,如果在32位或16位计算机中,表示方法一样,只是前面补0即可

原码运算可能出现的问题:

f934396ec332a3a377f011d3d9b5286a.png

反码:如果是正数,表示方法和原码一样,如果是负数,则保留符号位1,然后将这个数字的原码每位取反

例如:数字6在计算机中的反码和原码同为:00000110

数字-6在计算机中的反码为:11111001

反码运算可能出现的问题:

ffa2c5ff497b0bd721149b58b963cf4a.png

补码:如果是正数,表示方法和原码一样,如果是负数,补码就是对反码加一

f33426f1135a15b3b842d0300073cbeb.png

八.类型转换

在赋值运算或算数运算时,要求数据类型相同,否则就要进行类型转换

类型由小到大提升顺序:byte,char,short

自动转换

在运算过程中,如果两个值的类型不一致,则会自动将小的类型转换为大的类型

例如:int a = 10;     byte b = 5;     int c = a + b;

强制转换

在运算过程中可以手动强制转换,将大的类型转换为小的类型,在强制转换中可能会发生精度损失,结果不准确

例如:int a = 10;     byte b = 5;     byte c = (byte) a + b;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值