Java基础②

类型转换

自动类型转换:

类型范围小的变量,可以直接赋值给范围大的变量
底层原理: 数据在计算机底层的表示

表达式的自动类型转换:

在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算
byte、short、char——>int——>long——>float——>double

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

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

例如:byte b1=3,b2=4;
b=b1+b2; //错误 运算时会自动转换为int类型 而int类型的值不能赋值给byte 需要强制类型转换
b=3+4;//正确 常量具有常量类型优化机制 可以直接识别为byte

强制类型转换:

将范围大的变量直接赋值给范围小的变量会报错

强制类型转换: 强行将类型范围大的变量赋值给范围小的变量(数据可能会丢失)
数据类型 变量2 = (数据类型)变量1
底层原理: 数位截断

运算符

运算符: 属于字面量或变量进行操作的符号

算术运算符:

符号作用说明
+加法
-减法
*乘法
/除法(在Java中两个整数相除结果还是整数)
%取余获取两个数据做除法的余数

“+”做连接符:
字符串拼接
“+”符号做字符串运算的时候是用作连接符的,其结果依然是一个字符串

自增自减运算符:

符号作用说明
++自加变量自身的值加一
自减变量自身的值减一

自增自减符号在变量的前后会存在明显差别

  • 放在变量的前面,先对变量+1、-1,再拿变量的值进行运算

int a = 10;
int rs = ++a;
//rs = 11,a=11

  • 放在变量的后面,先对变量变量的值进行运算,再对变量的值进行+1、-1

int b = 10;
int rs = b++;
//rs = 10,b = 11

赋值运算符

基本赋值运算符:“=” int a = 10;//把数据10赋值给左边的变量a存储
扩展赋值运算符:

符号作用说明
+=加后赋值a += b 等价于 a =(a的数据类型)( a + b);将a+b的值给a
-=减后赋值a -= b 等价于 a =(a的数据类型)( a - b);将a-b的值给a
*=乘后赋值a *= b 等价于 a =(a的数据类型)( a * b);将a*b的值给a
/=除后赋值a /= b 等价于 a =(a的数据类型)( a / b);将a/b的值给a
%=取余后赋值a %= b 等价于 a =(a的数据类型)( a % b);将a%b的值给a

扩展的赋值运算符隐含了强制类型转换

关系运算符

关系运算符是对数据进行条件判断的符号,最终会返回一个比较的布尔结果(false,true)

符号说明
==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

相等判断是“==”,而不是“=”。

逻辑运算符

可以把多个条件的布尔结果放在一起运算,最终返回一个布尔结果

符号介绍说明
&逻辑与必须都是true,结果才是true
|逻辑或只要有一个为true,结果就是true
逻辑非你真我假,你假我真。!true=false,!false=true
^逻辑异或如果两个条件都是false或true则结果是false,条件不同结果是true
&&短路与有一个为false,结果为false(前一个为false,后一个条件就不执行了)
||短路或有一个为true,结果为true(前一个为true,后一个条件就不执行了)

三元运算符

格式: 条件表达式 ? 值1 : 值2 ;
执行流程: 首先计算关系表达式的值,如果为true,返回值1;如果为false,返回值2

优先级

在表达式中,运算符的执行顺序由优先级决定
在这里插入图片描述
如果不确定优先级,可以使用括号运算符来提高某个运算符优先级

输入函数

从键盘获取输入的步骤

  • ①导包:告诉程序去jdk的哪个包中找扫描器技术
    import java.util.Scanner;
  • ②:写一行代码获取键盘扫描器对象
    Scanner sc = new Scanner(System.in);
  • ③:等待接受用户输入数据
    int age = sc.nextInt(); // 接受数字输入
    String name = sc.next(); // 接受字符串输入

System、String在JDK的java.lang包下,lang包是默认包,不需要导入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值