赶紧收藏!这些Java中的流程控制知识你都不知道,你凭什么涨薪?
2021-03-22 22:26
标签:字节码 变量 字节 string public 常量 通过 int() system 基本语法: Scanner s = new Scanner(System.in); 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。 next(): 一定要读取到有效字符后才可以结束输入。//必须要输入否则程序不停止 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。//Hello World 只输出Hello因为有空格 只有输入有效字符才将其后面输入的空白作为分隔符或者结束符。/’/只有程序中有空格就结束’ next()不能得到带有空格的字符串。 使用next()的例子: package com.company.base; import java.util.Scanner; public class demo1 { } nextLine() import java.util.Scanner; public class demo2 { } 判断整数与小数的scanner import java.util.Scanner; public class demo4 { scanner.close(); } 做一个简易计算器 package com.company.base; import java.util.Scanner; public class demo5 { } 2.顺序结构 顺序结构是最简单的算法结构。 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本的算法结构。 那还没搞明白 那就给下面的RUN一下你就知道了 package com.company.base; public class demo6 { 3.选择结构(很重要的) 语法: if(布尔表达式){ if双选择结构 package com.company.ifdemo; import java.util.Scanner; public class if2 { } if多选择结构 package com.company.ifdemo; import java.util.Scanner; public class if3 { / 嵌套的if结构 使用嵌套的if…else语句是合法的。也就是说你可以在另一个if或者else if语句中使用if或者else if语句。你可以像if语句一样嵌套else if…else。 4.Switch多选择结构 第一个例子: package com.company.jiaohuan; public class JH { } 第二个例子: package com.company.jiaohuan; public class JH2 { switch (name){ 5.循环结构 public class Whiledemo1 { } 计算1+2+。。+100 public class Whiledemo3{ } do…while循环 对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。 do…while循环和while循环相似,不同的是,do…while循环至少会执行一次 do{ 使用do…while语句计算1+2+。。+100 public class dowhiledemo1 { public class dowhiledemo2{ while和do…while的区别: while先判断后执行,dowhile是先执行后判断! DO…while总是保证循环体会被至少执行一次!这是他们的主要差别。 for循环 在Java5中引入了一种主要用于数组的增强型for循环 赶紧收藏!这些Java中的流程控制知识你都不知道,你凭什么涨薪? 标签:字节码 变量 字节 string public 常量 通过 int() system 原文地址:https://blog.51cto.com/14966465/2543071
基础阶段 目录:
用户交互Scanner
顺序结构
选择结构
循环结构
break & continue
练习题
1.Scanner对象
之前我们学的基本语法中并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。Java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。
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);
}
scanner.close(); //IO流的用完记得关掉 占用内存 IO流就是输入输出流 和电脑交换信息的
}
以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
可以获得空白。
package com.company.base;public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数据");
if(scanner.hasNextLine()){
String abc = scanner.nextLine();
System.out.println("输出:"+abc);
}
scanner.close();
}
package com.company.base;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); //从键盘接收数据
int i = 0;
float f = 0.0f;
System.out.println("请输入整数:");
//如果。。。那么。。。
if (scanner.hasNextInt()){
i = scanner.nextInt();
System.out.println("整数数据:"+ i);
}else {
System.out.println("输入的不是整数数据");
}
System.out.println("请输入小数");
if (scanner.hasNextFloat()){
f = scanner.nextFloat();
System.out.println("小数数据:"+ f);
}else {
System.out.println("输入的不是小数数据!");
}
}
public static void main(String[] args) {
//我们可以输入多个数字,并求其总和与平均数,每一个数字用回车确认,通过输入非数字来结束输入并输出执行结果:
Scanner scanner = new Scanner(System.in);
//和
double sum = 0;
//计算输入了多少个数字
int m = 0;
//通过循环判断是否还有输入,并在里面对每一次进行求和和统计
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();
m = m+1;//m++
sum = sum + x;
System.out.println("你输入了第"+m+"个数据,然后点钱结果sum"+sum);
}
System.out.println(m +"个数的和为"+ sum);
System.out.println(m+ "个数的平均值是"+(sum / m));
scanner.close();
}
Java的基本结构就是顺序结构,除非特别指明,负责就按照顺序一句句执行。
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");
System.out.println("6");
System.out.println("7");
System.out.println("8");
}
}
if单选择结构
if双选择结构
if多选择结构
嵌套的if结构
switch多选择结构
if单选择结构
我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示
//如果布尔表达式为true将执行的语句,否则跳过
}
需要两个判断时,就需要一个双选则结构,所以就有了if-else结构。
语法:
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}public static void main(String[] args) {
//考试分数大于60就是及格,小于60分就是不及格
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = scanner.nextInt();
if (score>60){
System.out.println("及格");
}else {
System.out.println("不及格");
}
}
我们发现刚才的代码不符合实际情况,真实的情况还可能存在ABCD,存在区间多级判断。比如90-100就是A,80-90就是B等等。在生活中很多时候我们的选择也不仅仅就只有这两个,所以我们需要一个多选择结构来处理这类问题。
if(布尔表达式1){
//如果布尔表达式1的值为true执行代码
}else if(布尔表达式2){
//如果布尔表达式2的值为true执行代码
}else if(布尔表达式3){
//如果布尔表达式3的值为true执行代码
}else{
//如果以上布尔表达式都不为true执行代码
}public static void main(String[] args) {
//考试分数大于60就是及格,小于60分就是不及格
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = scanner.nextInt();
if语句至多有一个else语句,else语句在所有的else if语句之后。
if语句可以有若干个else if语句,它们必须在else语句之前。
一旦其中一个else if 语句检测为true,其他的else if以及else语句都将跳过执行
/
if (score == 100) {
System.out.println("恭喜你 你得到了满分");
} else if (score = 90) {
System.out.println("A级");
} else if (score =80) {
System.out.println("B级");
} else if (score = 70) {
System.out.println("C级");
}else if (score=60){
System.out.println("D级");
}else if (score=0){
System.out.println("不及格好好学习吧");
}
}
}
if(布尔表达式1){
//如果布尔表达式1的值为true执行代码
if(布尔表达式2){
//如果布尔表达式2的值为true执行代码
}
}
多选择结构还有一个实现方式就是switch case语句。
switch case语句能判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch语句中的变量类型可以是:
byte、short、int、或者char
从Java SE 7 开始
switch支持字符串String类型了
同时case 标签必须为字符串常量或者字面量。
Switch(expression){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
//你可以有任意数量的case语句
default://可选
//语句
}
public static void main(String[] args) {
//
char grade = ‘A‘; switch (grade){
case ‘A‘:
System.out.println("优秀");
break;//可选
case ‘B‘:
System.out.println("良好");
break;//可选
case ‘C‘:
System.out.println("及格");
break;//可选
case ‘D‘:
System.out.println("再接再厉");
break;//可选
case ‘E‘:
System.out.println("拉了兄弟");
break;//可选
default:
System.out.println("未知等级");
}
}
public static void main(String[] args) {
String name = "chb";
//JDK 7 新特性,表达式结果可以是字符串!!!
//字符的本质还是数字!!! //反编译 java----class(字节码文件)---反编译(IDEA)
case "RAP":
System.out.println("RAP");
break;
case "整活":
System.out.println("整活");
default:
System.out.println("妹有啊");
}
}
}
while循环
while(布尔表达式){
//循环内容
}
package com.company.whiledemo01;
public static void main(String[] args) { //输出1-100
int i = 0;
while (i
public static void main(String[] args) {
//计算1+2+。。+100 int i = 0;
int sum = 0;
while (i
//代码语句
}while(布尔表达式);
package com.company.whiledemo01;
public static void main(String[] args) {
int i = 0 ;
int sum = 0 ;
do{
sum = sum + i;
i++;
}while ((iSystem.out.println(sum);
}
}
public static void main(String[] args) { int a = 0;
while (a
文章标题:赶紧收藏!这些Java中的流程控制知识你都不知道,你凭什么涨薪?
文章链接:http://soscw.com/essay/67686.html