目录
控制台输入
package day3;
import java.util.Scanner;
public class demo1 {
//控制台输入
public static void main(String[] args) {
//创建一个输入功能的对象
Scanner scanner = new Scanner(System.in);
System.out.println("请输入姓名:");//读入控制台输入的姓名 next()返回字符串
String name = scanner.next();
System.out.println("请输入年龄:");//读入控制台输入的年龄 nextInt()返回int类型
int age = scanner.nextInt();
System.out.println("姓名:"+name+"\t年龄:"+age);
}
}
条件语句
if-else语句
if(条件表达式,最终返回一个布尔值){ }
if(条件表达式,最终返回一个布尔值){ }else{ }
if(条件表达式,最终返回一个布尔值){ }else if(条件表达式,最终返回一个布尔值){ }
if(条件表达式,最终返回一个布尔值){ }else if(条件表达式,最终返回一个布尔值){ }else{ }
if/else/for...语句后面即使只有一行代码也最好添加{ } 避免歧义
package day3;
public class demo2 {
public static void main(String[] args) {
int w = 3;
if(w<7) {
System.out.println("成立");//不加{ } if只能控制离他最近的一行代码
}
System.out.println("成立");//不再if的控制范围内
}
}
switch-break语句
switch(表达式){
case value1: 代码块 [break];
case value2: 代码块 [break];
case value3: 代码块 [break];
default 默认代码块
}
表达式的值可以是byte short int char 枚举类型 String类型
case语句后面只能使用常量(字面量)表达式
case后面的值不能重复
某个case分支如果没有提供break语句,则继续执行下一个case后的语句(穿透性)
凡是switch可以实现的功能,if里面也可以实现,反之不成立
实际开发中,switch和if都可以实现的功能,建议使用switch,因为效率高
package day3;
public class demo3 {
public static void main(String[] args) {
int week = 3;
switch(week){
case 1:
System.out.println(1);
break;
case 2:
System.out.println(2);
break;
case 3:
System.out.println(3);
break;
case 4:
System.out.println(4);
break;
default:
System.out.println("输入错误");
}
}
}
循环语句
while循环、do-while循环
变量初始化
while(条件表达式) {
循环体
迭代部分
}
do{
}while(条件表达式);
package day3;
import java.util.Scanner;
public class demo4 {
public static void main(String[] args) {
/* int a = 0;
while(a<5){
System.out.println(a);
a++;
}*/
/*//死循环
while(true){
System.out.println(1);
}*/
int a = 0;
do{
System.out.println("请输入一个整数");
Scanner scanner = new Scanner(System.in);
a = scanner.nextInt();
}while(a==10);
}
}
for循环
for(表达式1;表达式2;表达式3){语句;...;}
package day3;
import java.util.ArrayList;
public class demo5 {
public static void main(String[] args) {
/*for (int i=0;i<5;i++){
System.out.println(i);
}*/
/*int i=0;
for(;i<5;i++){
System.out.println(i);
}*/
/*int i=0;
for(;i<5;){
System.out.println(i);
i++;
}
System.out.println(i);*/
//for循环也可以死循环
/*for(;;){
System.out.println(1);
}*/
/*while (new ArrayList<>().iterator().hasNext()){
}*/
}
}
break与continue
break 语句用于终止某个语句块的执行。用在循环语句体中,可以强行退出循环;
continue语句用在循环语句体中,用于终止某次循环过程,跳过循环体中continue语句下面未执行的循环,开始下一次循环过程;
package day3;
public class demo6 {
public static void main(String[] args) {
int stop = 4;
for(int i=1;i<=10;i++){
//
if(i==stop){
break;
}
System.out.println("i="+i);
}
System.out.println("----------");
int skip = 4;
for(int i =1;i<=5;i++){
//
if(i==skip){
continue;
}
System.out.println("i="+i);
}
}
}
嵌套循环
println与print的区别
package day3;
public class demo7 {
public static void main(String[] args) {
System.out.println("*");//println()会自动换行
System.out.println("*");
System.out.println("*");
System.out.print("a");//print()不自动换行
System.out.print("a");
System.out.print("a");
}
嵌套循环-结束循环
package day3;
public class demo7 {
/*
嵌套循环
****
****
****
****
*/
public static void main(String[] args) {
for(int i=0;i<4;i++){//外层循环
for(int j=0;j<4;j++){//内层循环
System.out.print("*");
}
System.out.println();//换行
}
}
}
package day3;
public class demo7 {
public static void main(String[] args) {
//在内层循环中 结束外层循环 需要在想要结束的循环的前面添加一个标签(名字)
out:for(int i=0;i<5;i++){//外层循环
for(int j=0;j<5;j++){//内层循环
if(j==3){
break out;//break只能结束他所在的一层循环,不能结束外层循环 break 标签名(循环名字)
}
System.out.println("j=="+j);
}
System.out.println("i=="+i);
}
}
}