0、目录
1、赋值操作
- 赋值操作的操作顺序是从右到左
- int i = 5+5;
首先进行5+5的运算,得到结果10,然后把10这个值,赋给i
public class HelloWorld {
public static void main(String[] args) {
int i = 5+5;
}
}
2、对本身进行运算,并赋值
- +=即自加
- i+=2;
等同于
i=i+2; - 其他的 -= , *= , /= , %= , &= , |= , ^= , >>= , >>>= 都是类似,不做赘述
public class HelloWorld {
public static void main(String[] args) {
int i =3;
i+=2;
System.out.println(i); // i=5
int j=3;
j=j+2;
System.out.println(j); // j=5
}
}
3、练习:赋值操作符
int i = 1;
i+=++i; // 心算i的值是?
public class HelloWorld {
public static void main(String[] args) {
// TODO Auto-generated method stub
//赋值操作符
int i = 1;
i+=++i;
//i = i + ++i;
System.out.println(i); //i=3
}
}
4、三元操作运算符
- 表达式?值1:值2
- 如果表达式为真 返回值1
- 如果表达式为假 返回值2
public class HelloWorld {
public static void main(String[] args) {
int i = 5;
int j = 6;
int k = i < j ? 99 : 88;
// 相当于
if (i < j) {
k = 99;
} else {
k = 88;
}
System.out.println(k);
}
}
5、练习:判断是否是工作日
通过Scanner输入一个1-7之间的整数,使用三元操作符判断是工作日还是周末?
// 解答1:
import java.util.Scanner;
public class Test {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.println("今天是周几?");
int day = sc.nextInt();
System.out.println(day > 5 ? "周末": "工作日");
System.out.println("今天是" + day);
}
}
// 解答2:
import java.util.Scanner;
public class Test{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.println("今天是周几:");
int day = sc.nextInt();
String num = (day == 6 || day == 7) ? "周末":"工作日";
System.out.println("今天是" + day);
}
}
6、Scanner
6.1 使用Scanner读取整数
注意: 使用Scanner类,需要在最前面加上
import java.util.Scanner;
表示导入这个类,才能够正常使用
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int a = s.nextInt();
System.out.println("第一个整数:"+a);
int b = s.nextInt();
System.out.println("第二个整数:"+b);
}
}
6.2 使用Scanner读取浮点数
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
float a = s.nextFloat();
System.out.println("读取的浮点数的值是:"+a);
}
}
6.3 使用Scanner读取字符串
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String a = s.nextLine();
System.out.println("读取的字符串是:"+a);
}
}
6.4 读取了整数后,接着读取字符串
-
需要注意的是,如果在通过nextInt()读取了整数后,再接着读取字符串,读出来的是回车换行:"\r\n",因为nextInt仅仅读取数字信息,而不会读取回车换行"\r\n".
-
所以,如果在业务上需要读取了整数后,接着读取字符串,那么就应该连续执行两次nextLine(),第一次是取走回车换行,第二次才是读取真正的字符串
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int i = s.nextInt();
System.out.println("读取的整数是"+ i);
String rn = s.nextLine();
String a = s.nextLine();
System.out.println("读取的字符串是:"+a);
}
}
7、参考链接
[01] How2j - 操作符系列教材 (五)- JAVA的赋值操作符
[02] How2j - 操作符系列教材 (六)- JAVA的三元操作符
[03] How2j - 操作符系列教材 (七)- 使用SCANNER读取整数