Java控制流-狂神说Java
作者:互联网
课程学习
- 用户交互Scanner
- 顺序结构
- 选择结构
- 循环结构
- break&continue
- 练习
Scanner用法:
package base2;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
//创建一个对象,system获取输入的键盘对象
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
//判断用户有没有输入字符串
if(scanner.hasNext()){
String str= scanner.next();
System.out.println("输入的内容为:"+str);
}
//凡是属于IO流的类,如果不关闭就会一直占用资源,要养成习惯用完就关掉
Scanner scanner1= new Scanner(System.in);
System.out.println("使用nextLine方式接收:");
if (scanner1.hasNext()){
String str1 = scanner.nextLine();
System.out.println("输出的内容为:"+str1);
}
Scanner scanner2= new Scanner(System.in);
System.out.println("使用nextLine方式接收:");
String str2=scanner2.nextLine();
System.out.println("输出的内容为:"+str2);
//从键盘接数据
int i=0;
float f = 0.0f;
System.out.println("请输入整数:");
if(scanner2.hasNextInt()){
i=scanner2.nextInt();
System.out.println("整数数据:"+i);
}else{
System.out.println("输入的不是整数");
}
System.out.println("请输入小数:");
if(scanner2.hasNextFloat()){
f = scanner2.nextFloat();
System.out.println("浮点数数据:"+f);
}else{
System.out.println("输入的不是浮点数");
}
scanner.close();
scanner1.close();
scanner2.close();
}
}
package base2;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
//我们可以输入多个数字,并求其总和与平均数,没输入一个数字回车确认,通过输入非数字结束
Scanner scanner = new Scanner(System.in);
//和
double sum = 0;
int num = 0;
while(scanner.hasNextDouble()){
double x = scanner.nextDouble();
num++;
sum+=x;
System.out.println("你输入了第" + num + "个数据,然后当前结果sum为:" + sum);
}
System.out.println(num + "个数的和为:" + sum);
System.out.println(num + "个数的平均值为:" + sum/num);
scanner.close();
}
}
顺序结构
选择结构
if (s.equals("Hello")) //equals判断字符串是否相等
- jdk7后,expression可以是字符串了!switch处理将name生成对应的hash数据,然后进行比较
package base2;
public class Demo03 {
public static void main(String[] args) {
// jdk7后,表达式结果可以是字符串了!!!
// 字符的本身还是数字
// 反编译 java---class(字节码文件) ---反编译(IDEA)
String name = "cqq vvv";
switch (name){
case"cqq vvv":
System.out.println("cqq vvv");
break;
case"cqq":
System.out.println("cqq");
break;
case"cq":
System.out.println("cq");
break;
default:
System.out.println("wh");
break;
}
}
}
循环结构
快捷键 100.for 回车 输出
for (int i = 0; i < 100; i++) { }
for(;;){ }//死循环
练习2:用while或者for循环输出1-1000之间能被5整除的数,并且每行输出三个
package base2;
//用while或者for循环输出1-1000之间能被5整除的数,并且每行输出三个
public class ForDemo2 {
public static void main(String[] args) {
for (int i = 0; i < 1000; i++) {
if(i%5==0){
System.out.print(i+"\t"); //System.out.print(i+" ");
}
if(i%(5*3)==0){
System.out.println(); //println换行 print不换行
}
}
}
}
/*
0
5 10 15
20 25 30
35 40 45 //每一行相差15
*/
练习3:打印九九乘法表
package base2;
public class ForDemo03 {
//打印九九乘法表
/*
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
*/
public static void main(String[] args) {
/*
1、打印第一列
2、我们把固定的 1 再用一个循环包起来
3、去掉重复项 i <= j
4、调整样式
*/
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(i + "*" + j+ "=" + (i * j)+"\t");
}
System.out.println();
}
}
}
package base2;
public class ForDemo04 {
// 增强for循环
public static void main(String[] args) {
int[] numbers = {10, 20, 30, 40, 50};
//遍历数组元素,将numbers的元素赋值给x,然后打印
for (int x: numbers){
System.out.println(x);
}
System.out.println("==================");
//形如
for (int i = 0; i < 5; i++) {
System.out.println(numbers[i]);
}
}
}
break,continue,goto使用
goto使用:
打印101-150的质数,lable:outer
public class GotoDemo {
public static void main(String[] args) {
// 打印 101-150之间的质数(在大于1的自然数中,除了1和它本身不再有其他质数,从2开始除,除到它的一半)
int count = 0;
//不建议使用
outer:for(int i=101; i<150; i++){
for (int j = 2; j<i/2; j++){
if (i % j == 0){
continue outer;
}
}
System.out.print(i + " "); //101 103 107 109 113 127 131 137 139 149
}
}
}
练习,打印三角形
打印这三个三角形
package base2;
public class PracticalDemo {
public static void main(String[] args) {
//打印三级形5行
for (int i = 0; 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();
}
}
/*
*
***
*****
*******
*********
*/
}
标签:Java,Scanner,int,控制流,System,println,狂神,public,out 来源: https://blog.csdn.net/qq_39290990/article/details/122070508