JAVA-Day-02-Java基础语法

1.十进制转二进制的算法

除基取余法——》基为n进制里的n

例:64的二进制为:64/2 = 32,余数为0;32/2=16,余数为0;16/2=8,余数为0;8/2=4,余数为0;4/2=2,余数为0;2/2=1,余数为0;则64的二进制为1000000。

2.Java运算

注意:当byte、short、char参与运算时自动转换成int类型进行运算,注意=左侧变量的类型是否>=int类型,否则需要强制转换成该变量的类型。

注意:byte b = b + 1 ;× 因为b参与运算会转换成int类型,运算后是int类型值,不能赋值给byte类型

b+=1;√

计算机中数据最小的单位

计算机中数据最小的组成单元:使用8个二进制位为一组,称之为一个字节(byte,简称B) 字节中的每个二进制位就称为 位(bit,简称b), 1B = 8b

注意:Java程序中支持书写二进制、八进制、十六进制的数据,分别需要以0B或者0b、0、0X或者0x开头。

3.进制转换

二进制巧转八进制方法(8421法,去掉8):二进制从后向前每三个一组,每组第一个数为4,第二个数为2,第三个数为1,组内相加,最后连接到一起就是八进制数。

例:97:01100001——》01、100、001——》141。

二进制巧转十进制方法(128 64 32 16 8 4 2 1法):二进制从后向前依次为1、2、4、8、16、32、64、128。依次相加即为十进制数。

例:97:01100001——》1+32+64——》97。

二进制巧转十六进制方法( 8 4 2 1法):二进制从后向前每四个一组,每组第一个数为8,第二个数为4,第三个数为2,第四个数为1,组内相加,最后连接到一起就是十六进制数。

注意:16进制中的10为A,一直到F。

例:250:11111010——》1111、1010——》FA。

计算机的数据单位

计算机最小的组成单元是:字节,1B = 8b。 在B的基础上,计算机发展出了KB、MB、GB、TB、…. 这些数据单位。

1B = 8b

1KB = 1024B

1MB = 1024KB

1GB = 1024MB

1TB = 1024GB

4.数据类型的分类

基本数据类型和引用数据类型

基本数据类型:4大类8种。

数据类型 数据类型 内存占用(字节数) 数据范围
整型 byte 1 -128~127
整型 short 2 -32768~32767
整型 int(默认) 4 -2147483648~2147483647 (10位数,大概21亿多)
整型 long 8 -9223372036854775808 ~ 9223372036854775807 (19位数)
浮点型(小数) float 4 1.401298 E -45 到 3.4028235 E +38
浮点型(小数) double(默认) 8 4.9000000 E -324 到1.797693 E +308
字符型 char 2 0-65535
布尔型 boolean 1 true,false

Why?

随便写的整数、小数字面量,他们默认什么类型? 23 ,默认是int类型 , 加上L/l就是long类型的数据了。 23.8,默认是double类型,加上F/f就是float类型了。

5.类型转换

自动类型转换

类型范围小的变量,可以直接赋值给类型范围大的变量。

自动类型转换的其他形式:

byte ——》short (char) ——》 int ——》 long ——》 float ——》 double

表达式的自动转换类型

在表达式中,小范围类型的变量,会自动转换成表达式中较大范围的类型,再参与运算。

byte 、short、char ——》 int ——》 long ——》 float ——》double

注意事项:

表达式的最终结果类型由表达式中的最高类型决定。 在表达式中,byte、short、char 是直接转换成int类型参与运算的。

注意:byte b = b + 1 ;× 因为b参与运算会转换成int类型,运算后是int类型值,不能赋值给byte类型

b+=1;√ b+=1——》b=(byte)(b+1);

强制类型转换可能造成数据(丢失)溢出; 浮点型强转成整型,直接丢掉小数部分,保留整数部分返回

6.运算符

注意:System.out.println(3+4+"连接"+5+7); 输出的是:7连接57;方法:从左向右运算,遇到字符串连接并自身变成字符串,+5相当于"7连接"+5——》"7连接5"。

与字符串做+运算时会被当成连接符,其结果还是字符串。

识别技巧:能算则算,不能算就在一起。

自增:

++i;先自增后参与运算;

i++;先参与运算后自增;

符号 例子 作用 结果
> a>b 判断a是否大于b 成立返回true、不成立返回false
>= a>=b 判断a是否大于或者等于b 成立返回true、不成立返回false
< a<b 判断a是否小于b 成立返回true、不成立返回false
<= a<=b 判断a是否小于或者等于b 成立返回true、不成立返回false
== a==b 判断a是否等于b 成立返回true、不成立返回false
!= a != b 判断a是否不等于b 成立返回true、不成立返回false
符号 叫法 例子 运算逻辑
& 逻辑与 2 > 1 & 3 > 2 多个条件必须都是true, 结果才是true; 有一个是false,结果就是false
| 逻辑或 2 > 1 | 3 < 5 多个条件中只要有一个是true, 结果就是true;
! 逻辑非 ! (2 > 1) 就是取反:你真我假,你假我真。!true == false、!false == true
^ 逻辑异或 2 > 1 ^ 3 > 1 前后条件的结果相同,就直接返回false,前后条件的结果不同,才返回true
符号 叫法 例子 运算逻辑
&& 短路与 2 > 10 && 3 > 2 判断结果与“&”一样,过程不同:左边为 false**,右边则不执行。**
|| 短路或 2 > 1 | | 3 < 5 判断结果与“|”一样,过程不同:左边为 true**, 右边则不执行。**

Why?

1.API是什么?API文档是什么?

Application Programming Interface,应用程序编程接口:Java写好的程序,咱们可以直接调用。 Java提供的程序使用说明书。

2.Java程序中如何实现接收用户键盘输入的数据?

使用Java提供的Scanner来完成,步骤如下: 1、导包:import java.util.Scanner; 2、抄代码得到扫描器对象: Scanner sc = new Scanner(System.in) 3、抄代码等待接收用户输入的数据: int age = sc.nextInt(); String name = sc.next();

猜你喜欢

转载自blog.csdn.net/2301_76380511/article/details/129644162