流程控制的学习
用户交互scenner
Scenner对象
java.util.Scenner是java5的新特征,我们可以通过Scenner类来获取用户的输入。
基本语法
new Scenner(System.in);
//同等于↓
Scenner s = new Scenner(System.in);
通过Scenner类方法获取字符串
- next()使用hasnext()
import java.util.Scanner;
public class ddddd {
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方法接收:");
//判断用户有没有输入字符串
if (scanner.hasNext()){
//使用next方式接收
String str = scanner.next();
System.out.println("输入的内容为:"+str);
}
//凡是属于IO流的类如果不关闭会一直占用资源,要养成良好的习惯用完就关掉
scanner.close();
}
}
-
nextline()使用hasnextline()
import java.util.Scanner; public class d2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("使用nextline方式接收"); if (scanner.hasNextLine()){ String str =scanner.nextLine(); System.out.println("输出内容为:"+str); scanner.close(); } } }
scenner的进阶使用
import java.util.Scanner;
public class d5 {
public static void main(String[] args) {
//输入多少个字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束并输出执行结果
Scanner scanner = new Scanner(System.in);
//计算了输入了多少个数字
int i = 0;
//和
double f= 0;
//通过循环判断是否还有输入,并在里面对每一次进行求和和统计
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();
i++;
f = f+x;
System.out.println("你输入了第"+i+"个数据,然后当前结果f="+f);
}
System.out.println(i+"个数的和为"+f);
System.out.println(i+"个数的平均值是"+f/i);
scanner.close();
}
}
顺序结构
public class d1 {
public static void main(String[] args) {
//自上到下的结构,是任何一个算法都里不开的一种基本结构
System.out.println(1);
System.out.println(2);
System.out.println(3);
System.out.println(4);
System.out.println(5);
}
}
if选择结构
-
判断字符串是否相等equals
import java.util.Scanner; public class D1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入内容:"); String s = scanner.nextLine(); //equals判断字符是否相等 if (s.equals("hello,world")){ System.out.println(s); } System.out.println("END"); scanner.close(); } } -
if和else语句
import java.util.Scanner;
public class D2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
// score成绩
int score = scanner.nextInt();
if (score>60){
System.out.println("及格");
}else{
System.out.println("不及格");
}
scanner.close();
}
}
-
else if 语句
import java.util.Scanner; public class D3 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入成绩:"); int score = scanner.nextInt(); if (score==100){ System.out.println("肥肠棒"); }else if (score<100 && score>=90){ System.out.println("A"); }else if (score<90 && score>=80){ System.out.println("B"); }else if (score<80 && score>=70){ System.out.println("C"); }else if (score<70 && score>=60){ System.out.println("D"); }else if (score<60){ System.out.println("成绩不合格"); }else { System.out.println("成绩不合法"); } scanner.close(); } }
switch选择结构
-
public class D1 { public static void main(String[] args) { //case 穿透 char grade = 'F'; switch (grade){ case 'A': System.out.println("优秀"); break; //可选 case 'B': System.out.println("良好"); case 'C': System.out.println("及格"); case 'D': System.out.println("再接再厉"); case 'E': System.out.println("挂科"); default: System.out.println("未知等级"); } } } -
public class D2 { public static void main(String[] args) { String name = "胖妹"; switch (name){ case "胖妹": System.out.println("胖妹"); break; case "岩桑": System.out.println("岩桑"); break; default : System.out.println("啥玩意?"); } } } -
反编译
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) // package com.chengzi.www; public class D2 { public D2() { } public static void main(String[] args) { String name = "胖妹"; byte var3 = -1; switch(name.hashCode()) { case 762056: if (name.equals("岩桑")) { var3 = 1; } break; case 1045411: if (name.equals("胖妹")) { var3 = 0; } } switch(var3) { case 0: System.out.println("胖妹"); break; case 1: System.out.println("岩桑"); break; default: System.out.println("啥玩意?"); } } }
while 循环结构
public class D3 {
public static void main(String[] args) {
int i = 0;
while (i<100) {
i++;
System.out.println(i);
}
}
}
public class D3 {
public static void main(String[] args) {
//计算1+2+3+...+100=?
int i = 0;
int sum = 0;
while (i<=100){
sum = sum+i;
i++
}
System.out.println(i);
}
}
do while 循环结构
public class D3 {
public static void main(String[] args) {
int i = 0;
int sum = 0;
do {
sum = sum+i;
i++;
}while (i<=100);
System.out.println(sum);
}
}
public class D3 {
public static void main(String[] args) {
int i = 0;
while(i<0){
System.out.println(i); //do while 至少执行一次
//while先判断后执行,do while 先执行后判断
i++;
}
do {
System.out.println(i);
i++;
}while (i<0);
}
}
for 循环结构
1.计算0-100的奇数和偶数的和
public class D1 {
public static void main(String[] args) {
//计算0-100奇数与偶数的和
int oddsum=0;//奇数
int evensum=0;//偶数
for (int i = 0; i <= 100; i++) {
//模运算 i/2不等于0 判断奇偶
if (i%2!=0) {
oddsum+=i;
}else {
evensum+=i;
}
}
System.out.println("奇数的和:"+oddsum);
System.out.println("偶数的和:"+evensum);
}
}
- 输出1-1000能被5整除的数,并且每行输出3个
public class D1 {
public static void main(String[] args) {
//输出1-1000能被5整除的数,并且每行输出3个
for (int i = 0; i < 1000; i++) {
if (i%5==0){
System.out.print(i+"\t");
}
if (i%(5*3)==0){ //每行
System.out.println("\n");
}//print 输出完不会换行
//println 输出完会换行
}
}
}
- while 执行1-1000被5整除的数,并且每行输出3个
public class D1 {
public static void main(String[] args) {
int i = 0;
while (i<1000){
i++;
if (i%5==0){
System.out.print(i+"\t");
}if (i%(3*5)==0){
System.out.println("\n");
}
}
}
}
- do while 执行1-1000被5整除的数,并且每行输出3个
public class D1 {
public static void main(String[] args) {
int i=0;
do {
i++;
if (i%5==0){
System.out.print(i+"\t");
}
if (i%(3*5)==0){
System.out.println("\n");
}
}while (i<1000);
}
}
5.九九乘法表
public class D1 {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j+"*"+i+"="+i*j + "\t");
}System.out.println();
}
}
}
-
逆向九九乘法表
public class D1 { public static void main(String[] args) { for (int i = 1; i <= 9; i++) { for (int d = 9; d >i; d--) { System.out.print(" "); } for (int j =i; j >0; j--) { System.out.print(j + "*" + i + "=" + j * i+ " "); } System.out.println(""); } } }
增强for循环
1.增强for循环与for循环输出数组的区别
public class D1 {
public static void main(String[] args) {
int[] numbers ={10,20,30,40,50};
for (int i = 0; i <= 5; i++) { //for循环
System.out.println(numbers[i]);
}
System.out.println("=======================");
for (int x:numbers){ //增强for循环
System.out.println(x);
}
}
}
break、continue、goto语句
-
continue与break的区别
public class D1 { public static void main(String[] args) { int i=0; while (i<100){ i++; if (i%10==0){ System.out.println(); //break在任何循环语句的主体部分,均可用于break控制循环的流程 continue; //break用于强制退出循环,不执行循环中剩余的语句。(break可用于switch语句中使用) } /**continue用于循环语句体中,用于终止某次循环,也就是跳过循环体中尚未执行的语句,接着 进行下一次是否执行循环的判定**/ System.out.print(i+"\t"); } } } -
for循环打印三角形
public class D1 {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 5; j >= i; j--) {
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
for (int j = 1; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
浙公网安备 33010602011771号