条件运算符
(条件表达式)?表达式1:表达式2;
public static void main(String[] args) {
int score = 70;
String res = (score >= 60) ? "考试及格" : "挂科";
System.out.println(res);
int a = 10, b = 20;
int max;
max = a > b ? a : b;
System.out.println(max);
System.out.println(Math.max(a,b));
}
java自带求最大值的方法:
java.lang.Math.max(int a,int b) 可以是double型也可是int型,返回最大值
(java.long包不用import引入 每个程序运行时都会自动地引入它,这个包的加载时缺省的)
控制台输入
- 输入语句
- Scanner scan=new Scanner(System.in); 创建了一个新的Scanner对象为scan,括号里的 Systenm in 是为了获得输入流对象 InputStream (scan对象也可以写为in)
- String name=scan.next(); 阻塞式IO 输入时进入阻塞状态,等待,按回车键输入结束 继续执行
- 输出语句
import java.util.Scanner;
public class Demo8 {
public static void main(String[] args){
Scanner scan=new Scanner(System.in); //获得输入流对象 InputStream
System.out.print("请输入用户名");
String name=scan.next(); //阻塞式IO 输入时进入阻塞状态,等待,按回车键输入结束 继续执行
System.out.println(name);
System.out.print("请输入年龄");
int age=scan.nextInt();
System.out.println(age);
}
}
if 语句
if语句只对最近的一行代码有作用:
- 第一个if 和第二个if 都成立 ,输出x+y
- 第一个成立,第二个不成立,输出feifan
(第二个if 省略了大括号和else) - 第一个不成立,输出is:4
public static void main(String[] args){
int x=4;
int y=1;
if(x>2) {
if (y > 1)
System.out.print(x + y);
System.out.print("feifan");
}else{
System.out.print("is:"+x);
}
public static void main(String[] args){
boolean b=true;
if(b==false)
System.out.print("a");
else if(b)
System.out.print("b");
else if(!b)
System.out.print("c");
else
System.out.print("d");
}
switch 语句
switch(表达式){
case 1:
语句;
break;
case 2:
语句;
break;
case 3:
语句;
break;
...
default: 语句;
case 后面的常量仅代表程序的每个入口
int a=8;
switch (a) {
case 1:
System.out.println("今天是周一");
break;
case 2:
System.out.println("今天是周二");
break;
case 3:
System.out.println("今天是周三");
break;
case 4:
System.out.println("今天是周四");
break;
case 5:
System.out.println("今天是周五");
break;
default:
System.out.println("今天不是工作日");
for 语句
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.println("请输入数字");
double a= scanner.nextDouble();
if(a>90) {
System.out.println("优秀");
}else if(80<=a&&a<90){
System.out.println("良好");
}else if(60<=a&&a<70){
System.out.println("及格");
}else if(a<60){
System.out.println("不及格");
}
}
for(;i<10;) 表示无初始条件,直接进入循环
public static void main(String[] args){
int i=0;
for(;i<10;) {
System.out.println(i);
i++;
}
}
for(; ; ) 表示无初始条件,直接进入循环,且无终止条件,会无限执行循环里面语句下去
public static void main(String[] args){
for(;;) {
System.out.println(1);
}
}
break;终止循环,只能终止一层
public static void main(String[] args){
for (int i = 0; i < 10; i++) {
if(i==5){
break;//终止循环,只能终止一层
}
System.out.println(i);
}
}
continue; 只是终止当次循环,之后进入到下一次循环
public static void main(String[] args){
for (int i = 0; i < 10; i++) {
if(i==5){
continue;//只是终止当次循环,之后进入到下一次循环
}
System.out.println(i);
}
}