感激相遇 你好 我是阿ken
特此声明 未经允许 不得转载
重点:++
++ 无论出现在变量前还是后,运算结束后,一定会自加1。
自增自减运算符(+、-),++、–是单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量,作用是使变量的值增1或减1。
++x和x++的不同之处在于,++x是先执行x=x+1再使用x的值,而x++是先使用x的值再执行x=x+1。
//
int i = 10;
i++;
System.out.println(i); // 11
int k = 10;
++k;
System.out.println(k); // 11
++出现在变量前:
int i = 10;
int k = ++i;
System.out.println(); // 11
System.out.println(); // 11
++出现在变量后:
int i = 10;
int k = i++;
System.out.println(k); // 10
System.out.println(i); // 11
int i = 10;
System.out.println(i++); // 10
// 拆代码:
int temp = i++;
System.out.println(temp); // 10
System.out.println(i); // 11
int i = 10;
System.out.println(++i); // 11
// 拆代码:
int temp = ++i;
System.out.println(temp); // 11
System.out.println(i); // 11
// 原文出自: CSDN-请叫我阿ken
关系运算符结果都是布尔类型(true/false)
逻辑运算符要求两边都是布尔类型,并且最终结果还是布尔类型。
& 两边都是true,结果才是true
| 一边是true,结果就是true
!取反
&& 实际上和&运算结果完全相同,区别在于:&&存在短路现象。
左边为false的时候:&&短路。
左边为true的时候: || 短路。
重要规则:扩展赋值运算符在使用的时候要注意,不管怎么运算,最终的运算结果类型不会变。
byte x = 100; // byte 最大值127
x += 1000; // 编译可以通过,x变量还是byte类型,只不过损失精度了。
x += 1000; 等同于: x = (byte)(x + 1000);
int i = 10;
i += 10; // 等同于: i = i + 10; 累加。
// 原文出自: CSDN-请叫我阿ken
三目运算符语法: 布尔表达式 ? 表达式1:表达式2
布尔表达式为 true,选择表达式1作为结果。反之选择表达式2作为结果。
+…
+两边都是数字,进行求和
+有一边是字符串,进行字符串的拼接
+有多个的话,遵循自左向右依次执行:1 + 2 + 3
如果想让其中某个加号先执行,可以添加小括号:1+(2+3)
注意:字符串拼接完之后的结果还是一个字符串。
技巧:怎么把一个变量塞到一个字符串当中。
String name = "jackson";
System.out.println("登陆成功,欢迎"+name+"回来");
// 原文出自: CSDN-请叫我阿ken
整形数据在内存中以二进制的形式表示,例如一个 int 型变量在内存中占4个字节共32位,int 型数据 7 的二进制表示是:
00000000 00000000 00000000 00000111
左面最高位是符号位,最高位是 0 表示正数,是 1 表示负数。负数采用补码表示,例如-8的补码表示是:
正数的补码,原码,反码都是相同的。
+8的补码,原码,反码,都是 0000 1000。
负数的补码,原码,反码都是用1放在符号位,后面7位有变化:
-8的原码:1000 1000;
-8的反码:1111 0111;
-8的补码:1111 1000。
// 原文出自: CSDN-请叫我阿ken
!!!!
该运算符是二目运算符。左面的操作元是一个对象,右面是一个类。当左面的对象是右面的类或子类创建的对象时,该运算符运算的结果是 true,否则是false(有关细节后续会讲解)
switch(表达式){
case 常量值1;
若干个语句
break;
case 常量值2;
若干个语句
break;
......
case 常量值n;
若干个语句
break;
default;
若干语句
}
// switvh语句中表达式的值可以为byte、short、int、char型;常量值1到常量值n,也是byte、short、int、char型,而且要互不相同。
// 原文出自: CSDN-请叫我阿ken
while(true){
System.out.println("死循环");
}
// 原文出自: CSDN-请叫我阿ken
控制语句
- 关于循环语句
for 循环、while 循环、do…while 循环
什么是循环语句,为什么要使用这种语句?
因为在现实世界当中,有很多事情都是需要反复/重复的去做。为了减少代码量,要使用循环语句。
要求:
第一点:必须要将语法结构背会。
第二点:必须要理解他们的执行原理。
去实现案例,去实现功能。
先从简单的案例开始,慢慢的经过一个过程你才能解决复杂的问题。
do {
循环体;
} while(布尔表达式);
/*最后这个分号很关键*/
// 原文出自: CSDN-请叫我阿ken
运行原理:先执行循环语句,再判断布尔表达式,如果为true就继续执行,如果为false就停止循环。
int i = 0;
do{
System.out.println(i); // 0 1 2 3...8 9
i++;
// 也可直接把上两行代码等价替换为
// System.out.println(i++);
}while(i < 10);
int i = 0;
do{
System.out.println(++i); // 1 2 3 ... 8 9 10
}while(i < 10);
int k = 100;
System.out.println(++k); // 101
System.out.println(k); // 101
int m = 10;
System.out.println(m++); // 10
System.out.println(m) // 11
// 原文出自: CSDN-请叫我阿ken
转向语句:
break、continue、return(后期整理到方法时再详细学习)
for(表达式1; 表达式2; 表达式3) {
循环语句;
}
// 原文出自: CSDN-请叫我阿ken
// anli
public class Example_n {
public static void main(String args[]){
long sum = 0, a = 8, item = a, n = 12, i = 1;
for(i = 1; i <= n; i++) {
sum = sum + item;
item = item*10 + a;
}
System.out.println(sum);
}
}
// 原文出自: CSDN-请叫我阿ken
if、switch 属于分支语句,属于选择语句(选择结构)。
for、while、do…while…这些都是循环语句(循环结构)。
break、continue、return 属于转向结构。
for、while完全可以互换,只不过就是语法格式不一样。
感谢阅读 我是阿ken