【笔记】Java基础语法02(博主笔记,仅供参考)
本文为博主笔记,部分信息撰写不完整,仅供参考使用
P23 自动类型转换
以下类型自动向上转型:
- byte->short->int->long->float->double
- char->int->long->float->double
例如:
byte b = 1;
int a = b; // 这里a直接变为int类型
chart c = 'a'
int i = c; // i=97 也即是a的acii码对应的十进制
注意byte相加后是int
byte i = 100;
byte j = 200;
# 需要使用int类型接数据
int r = i+j
P24 强制类型转换
数据类型 变量=(数据类型)变量、数据
int a = 20
# 报错的情况
byte b = a;
# 使用强制转换
byte b = (byte)a;
P25 运算符
-
运算符
±*/ %
-
除法需要注意,为什么?
- 如果两个整数相除结果一定是整数,因为他们之间的最高类型是整数
- 如果想成为小数可以使用10*1.0/3 乘上一个1.0 转为double类型
P28 加符号做连接符
-
能算则算,不能算就在一起
System.out.println("---链接---"); // 字符串和字符 = 字符串 System.out.println("abc"+'d'); // 字符串和数字类型 = 字符串 System.out.println("abc"+d); // 数字与数字 = 数字 System.out.println(d+8); // 数字 字符串 字符 = 字符串 System.out.println("abc" + 5 + 'd'); // 数字 字符串 数字 = 字符串 System.out.println(1 + "abc" + 15); // 数字 字符 = 数字 System.out.println(6 + 'a'); // 数字 空字符串 字符 = 字符串 System.out.println(6 +""+ 'a'); // 数字 字符 空字符串 = 先计算再字符串 System.out.println(6 +'a'+"ddd"); // 字符串 数字 字符= 字符串 System.out.println("ddd"+6 +'a'); // 字符串 (数字 字符) = 先计算再字符串 System.out.println("ddd"+(6 +'a'));
P29 自增自减
-
++ – 对当前变量值+1 -1
-
放在变量前后有什么区别?
- 单独使用没有区别
- 非单独使用:在变量后,先运算后自增
int a = 1;
int b = a++; 先赋值再加加 b = 1 a = 2
- 在变量前,先自增自减,再使用变量
int a = 1;
int b = ++a; 先加加再赋值
P31 运算符
1.赋值运算符
- += 加后赋值 a+=b 等价于a = (a的类型)(a+b)
- -= 减后赋值
- *= 成后赋值
- /=除后赋值
- %=取余后赋值
扩展的赋值运算隐含了强制类型转换
2. 关系运算符
- == 等于
- !=不等于
- >= 大于等于
- < 小于
- <= 小于等于
3. 逻辑运算符
-
& 逻辑与
-
| 逻辑或
-
!逻辑非:
-
^ 逻辑异或:两个都是false 或者都是true时结果时false 反之为true
-
短路与 && 左边为false 右边不执行
-
短路或 || 左边为true 右边不执行
double size = 8.9; double storage = 16; System.out.println(size > 8.2 | storage++ > 10); System.out.println(storage); # 输出 true 17.0 System.out.println(size > 8.2 || storage++ > 10); System.out.println(storage); # 输出 true 16.0 System.out.println(size < 8.2 && storage++ > 10); System.out.println(storage); # 输出 false 16.0 System.out.println(size > 8.2 & storage++ > 10); System.out.println(storage); # 输出 false 17.0
4. 三元运算符
格式:条件表达式?值1:值2;
条件表达式true=值1 反之 值2
// 三个数最大值
public int Max(int a, int b, int c) {
return a > b ? (a>c ? a : c ) : b > c ? b : c;
}
5. 运算符优先级
结合性:值得注意的是, 前置、后置运算只能用于变量, 不能用于常量和表达式, 且结合方向是从右至左。如当i=6 时, 求- i++的值和i 的值。由于“- ”(负号) “++”为同一个优先级, 故应理解为- (i++), 又因是后置加, 所以先有- i++的值为- 6, 然后i 增值1 为7, 即i=7。
优先级 | 运算符 | 结合性 |
---|---|---|
1 | ()、[]、{} | 从左向右 |
2 | !、+、-、~、++、– | 从右向左 |
3 | *、/、% | 从左向右 |
4 | +、- | 从左向右 |
5 | «、»、>>> | 从左向右 |
6 | <、<=、>、>=、instanceof | 从左向右 |
7 | ==、!= | 从左向右 |
8 | & | 从左向右 |
9 | ^ | 从左向右 |
10 | | | 从左向右 |
11 | && | 从左向右 |
12 | || | 从左向右 |
13 | ?: | 从右向左 |
14 | =、+=、-=、*=、/=、&=、|=、^=、~=、«=、»=、>>>= | 从右向左 |
6. 键盘引入
-
使用Scannerhttps://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/util/Scanner.html
官网查看文档找到相关的使用说明
package day03; import javax.sound.midi.Soundbank; import java.util.Scanner; import utils.Math; /** * * @ClassName Main * @Description day01学习文件 * @Author zhu * @Time 2022-09-01 22:36:28 * */ public class Main { /** * @Title: main方法 * @Description: 测试使用 * @param 无 * @param para2 * @return String * */ public static void main(String[] args) Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数"); int i = sc.nextInt(); System.out.println("您输入的i="+i); } } next和nextline方法的区别在于nextLine会接收回车字符(包含空格和Tab键,下同)而next不会 next会去除前面后者后面的回车字符,只截取有效字符。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/119254.html