JAVA入门(二)

一、变量详解

1、变量里的数据在计算机中的底层原理
①所有类型的数据最终都是转换成二进制存储到计算机中
②十进制转换成二进制,使用除二取余法

③文字存储到计算机底层是使用了ASCII编码,固定了常用字符对应的数字,存储的是对应数字的二进制形式。例如

'a' ---> 97 01100001

'A' ---> 65 01000001

'0' ---> 48 00110000

④计算机中的数据单位

1B = 8b

1KB = 1024B

1MB = 1024KB

1GB = 1024MB

1TB = 1024GB

计算机中最小的存储单位是字节,1byte字节=8位bit

2、数据类型
①变量定义格式

数据类型 变量名 = 初始值;

②作用

约束变量只能存储什么类型的数据,帮助定义出不同类型的数据

③数据类型的分类

1)引用数据类型

例如String等类型,接收的是字符串字面量

2)基本数据类型

整型

byte 字节整型 1字节

short 短整型 2字节

int 整型(默认类型) 4字节

long 长整型 8字节

浮点型

float 单精度小数 2字节

double 双精度小数(默认) 8字节

字符型

char 2字节

布尔型

boolean 1字节 true false

④注意事项

1)随便写整数字面量,默认是int类型,想当成long类型后面加L/l

2)小数字面量默认是double,想当成float类型后面加F/f

二、类型转换

1、为什么要类型转换

开发中存在不同类型的变量或数据一起运算的情况,也存在将一种类型的数据赋值给另一种类型变量的情况

2、自动类型转换
1)原理

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

2)形式

byte a = 20;

int b = a;

或者 char c = 'a';

int d = c;

3)表达式中的自动类型提升

含义

在表达式中,小范围的变量会自动提升为大范围类型参与运算

结论

表达式的最终结果类型由表达式中的最高类型决定

注意

在表达式中byte、short、char是直接转换成int类型参与运算的

示例

byte b1 = 12; byte b2 = 21;

byte b3 = b1 + b2; // 错误

int b3 = b1 + b2; // 对

byte b3 = (byte)(b1+b2); // 对

b1 += b2; //对,扩展赋值运算符,隐含强制类型转换 同等与 b1 = (byte)(b1+b2)

3、强制类型转换

1)含义

类型范围大的数据或者变量,不能直接赋值给类型范围小的变量,会报错,必须进行强制类型转换后才可以

2)格式

数据类型 变量2 = (数据类型)变量1、数据;

3)注意事项

强制类型转换可能造成数据(溢出)丢失。 示例 int a = 1500; byte b = (byte)a;

浮点型强转成整型,直接丢掉小数部分,保留整数部分返回。 示例 double a = 99.8; int b = (int)a;

三、运算符

1、算术运算符
①基本算术运算符

1)+ - * / %

2)注意:两个整数相除结果一定是整数。示例:10/3=3; 10*1.0/3=3.333333...

②自增自减运算符

1)++自增符号 对变量进行加1操作

2)--自减符号 对变量进行减1操作

3)注意事项:

只能操作变量,不能操作字面量。示例:a++;//正确 32++;//错误

++或者--单独使用,放在变量前面或者后面没有区别。 示例:a++;等同于 ++a;

++或者--如果不是单独使用,放在变量前后会有明显区别。 ++或者--放在变量前,先对变量加1或者减1操作,再使用变量。++或者--放在变量后,先使用变量,再对变量加1或者减1操作。

2、+号做连接符

①使用场景:+符号与字符串一起运算时,充当连接符,运算后的结果还是一个字符串。

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

3、赋值运算符

= += -= *= /= %=

a+=b; 等价于 a=(a的数据类型)(a+b);

③ 用处

1)适合做数据的累加操作。示例:int a = 10; int b =5; a+=b;

2)自带强制类型转换。示例:byte b1 = 30; int b2 = 35; b1 += b2;如果不这样写,需要写成b1 = (byte)(b1+b2);

4、关系运算符
①种类 == != > >= < <=
②作用 对两个数据进行关系运算,最终返回一个布尔值 true或false
③注意 千万不要把相等判断写成一个等号=
5、逻辑运算符
① 种类

&,&& ,|,||,!,^

② 与

&(逻辑与) 必须前后都是true,结果才为true

&&(短路与) 只要是左边是false,右边就不执行了

区别:&&如果发现前面是false,后面就不计算了,直接返回false,效率更高一些,同时可以规避一些异常,用得较多

③ 或

| (逻辑或) 只要前后有一个为true,结果就是true

||(短路或) 只要左边是true,右边就不执行了

区别: ||如果发现前面是true,后面就不计算,直接返回true,效率更高一些,同时可以规避一些异常,用得较多

④ 取反 !

!true = false; !false = true;

⑤ 异或 ^

记住:相异为真,前后一样为false,前后不一样为true

⑥ 注意:不短路,就继续刮彩票,刮到谢还继续。短路的话,刮到谢就不刮了。
6、三元运算符
① 可以用来做分支选择
② 格式: 条件表达式 ? 值1 : 值2
7、运算符优先级

多个运算符放在一起存在谁先执行,谁后执行得问题。

① ()得优先级最高;

② *和/运算得优先级大于+和-运算;

③ &&得优先级大于||

四、键盘录入技术

1、三步使用方法
①导入包

在类的上方输入import java.util.Scanner;

②获取一个实现键盘录入的对象

在main方法中添加代码:Scanner sc = new Scanner();

③使用该对象得录入数据功能

录入int类型: int age = sc.nextInt();

录入字符串数据: String name = sc.next();

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值