java基础语法3
控制台输入语句------Scanner
步骤:
-
导入该类的所在包,
java.util.*
-
创建该类对象(声明变量)
-
调用里面的功能
package 实例;
import java.util.Scanner;
public class Demo3 {
public static void main(String[] args) {
//Scanner类 在java.util 包
//1. 引入/导入 Scanner类所在的包
//2. 创建 Scanner 对象 , new 创建一个对象,体会
// sc 就是 Scanner类的对象
Scanner sc = new Scanner(System.in);
//3. 接收用户输入了, 使用 相关的方法
System.out.println("请输入名字");
//当程序执行到 next 方法时,会等待用户输入~~~
String name = sc.next(); //接收用户输入字符串
System.out.println("请输入年龄");
int age = sc.nextInt(); //接收用户输入int
System.out.println("请输入性别");
String gender = sc.next(); //接收用户输入String
System.out.println("人的信息如下:");
System.out.println("名字=" + name + " 年龄=" + age + " 性别=" + gender);
}
}
控制语句
1.if条件结构
● if条件结构是根据条件判断之后再做处理
package 实例;
public class Demo7 {
public static void main(String[] args) {
int a = 65;
if (a >= 60) {
System.out.println("你的分数及格了");//你的分数及格了
}else{
System.out.println("你的分数没有及格");
}
}
}
package 实例;
import java.util.Scanner;
public class Demo7 {
public static void main(String[] args) {
System.out.println("请输入一个成绩:");
int score = new Scanner(System.in).nextInt();
if(score>=90&&score<=100){
System.out.println("优秀");
}else if(score>=80&&score<90){
System.out.println("优良");
}else if(score>=70&&score<80){
System.out.println("良好");
}else if(score>=60&&score<70){
System.out.println("及格");
}else if(score<60){
System.out.println("不及格");
}
}
}
2.switch语句
switch语句:多分支选择语句,根据表达式的值,来执行多个操作中的一个。
switch(表达式){
case value1:语句序列1;
break;
case value2:语句序列2;
break;
case value n :语句序列n;
defalut : 省略语句
}
package 实例;
import java.util.Scanner;
public class Demo7 {
public static void main(String[] args) {
Scanner s= new Scanner(System.in);
System.out.println("请输入1-4的整数");
int x=s.nextInt();
switch(x){
case 1:
System.out.println(111);
break;
case 2:
System.out.println(222);
break;
case 3:
System.out.println(333);
break;
case 4:
System.out.println(444);
break;
default:
System.out.println("其他数字");
}
}
}
使用switch语句的注意事项
-
用作判断的表达式必须是符合byte、short、int、char类型的表达式,而不能使用double、long、boolean,也不能使用字符串
-
switch表达式依次和每个case子句中的常量值相比较。如果匹配成功,则执行case子句中常量值后的语句,直到break语句为止
-
case子句中的常量值不能相同,否则会报错
-
default子句可以省略
注意:如果分支执行了,但是分支最后没有“break;”,此时会发生case 穿透现象。所有的case都没有匹配成功,那么最后default分支会执行。
例如下列情况:
package 实例;
import java.util.Scanner;
public class Demo7 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的评分");
int score = sc.nextInt();
switch (score) {
case 10:
case 9:
System.out.println("优");
break;
case 8:
System.out.println("良");
//break;
case 7:
System.out.println("中");
break;
case 6:
System.out.println("及格");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
System.out.println("不及格");
break;
default:
System.out.println("输入成绩有误");
}
}
}
3.for循环语句
格式如下: for(初始化表达式; 条件表达式; 更新表达式){ 循环体; }
执行原理:
先执行初始化表达式,并且初始化表达式只执行1次。 然后判断条件表达式的结果,如果条件表达式结果为true,则执行循环体。 循环体结束之后,执行更新表达式。 更新完之后,再判断条件表达式的结果, 如果还是true,继续执行循环体。
直到更新表达式执行结束之后,再次判断条件时,条件为false,for循环终止。
图解:
package 实例;
import java.util.Scanner;
public class Demo7 {
public static void main(String[] args) {
System.out.println("计算100以内数字的前n项和");
System.out.println("------------------------------");
Scanner sc = new Scanner(System.in);
System.out.println("请输入100以内的数字");
int a = sc.nextInt();
int sum = 0;
if (a >=100) {
System.out.println("输入的数有误");
}else {
for (int i = 1; i <= a; i++) {
sum += i;
}
System.out.println(sum);
}
}
}
4.while语句&do-while 语句
4-1.while语句:
语法格式:
while(布尔表达式){ 循环体; }
原理:
判断布尔表达式的结果,如果为true就执行循环体, 循环体结束之后,再次判断布尔表达式的结果, 如果还是true,继续执行循环体, 直到布尔表达式结果为false,while循环结束。
图解:
示例:
package 实例;
import java.util.Scanner;
public class Demo7 {
public static void main(String[] args) {
int a = 1;
int b = 5;
while(a<b){
a++;
System.out.println(a);//2 3 4 5
}
}
}
4-2.do-while 语句
语法格式:
do { 循环体; }while(布尔表达式);
原理:
先执行循环体当中的代码,执行一次循环体之后, 判断布尔表达式的结果,如果为true,则继续执行 循环体,如果为false循环结束。
图解:
示例:
package 实例;
import java.util.Scanner;
public class Demo7 {
public static void main(String[] args) {
int a = 1;
int b = 5;
do {
a++;
System.out.println(a);//2 3 4 5
}
while(a<b);
}
}
注意:
对于do…while循环来说循环体至少执行1
次,但是while可以执行0次。
break
break;语句的执行并不会让整个方法结束,break;语句主要是用来终止离它最近的那个循环语句。
示例:
package 实例;
import java.util.Scanner;
public class Demo7 {
public static void main(String[] args) {
int stop = 4;
for (int i = 1; i <= 10; i++) {
//当i等于stop时,退出循环
if (i == stop){
break;
}
System.out.print("i = " + i+" ");
// i= 1 i= 2 i= 3
}
}
}
continue
continue 语句用在循环语句体中,用于终止某次循环过程,跳过循环体中 continue 语句下面未执行的循环,开始下一次循环过程;
示例
package 实例;
import java.util.Scanner;
public class Demo7 {
public static void main(String[] args) {
int skip = 4;
for (int i = 1; i <= 5; i++) {
//当i等于skip时,跳过当次循环
if (i == skip){
continue;
}
System.out.print("i = " + i+" ");
//i = 1 i = 2 i = 3 i = 5
}
}
}