Java流程控制01 用户交互Scanner
java.util.Scanner 可以通过Scanner类来活区用户的输入。
Scanner s = new Scanner(System in)
Sannner类的next()和nextLine()方法获取用户输入字符串。在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入数据
package scanner;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
//创建一个扫描器对象,用于接受数据键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方法接收:");
//判断用户有没有输入字符
if (scanner.hasNext()){
String str = scanner.next();
System.out.println("输出的内容为:"+str);
}
//凡是属于IO流的类如果不关闭,会一直占用资源,要养成好习惯,用完就关掉
scanner.close();
}
}
package scanner;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方法接收:");
if (scanner.hasNext()){
String str = scanner.nextLine();
System.out.println("输出的内容为:"+str);
}
scanner.close();
}
}
注意
使用next()方法输入字符时,以空格键结束,敲击回车键运行下一行代码。如输入”Hello world”,最终结果为“Hello”;
使用nextLine()方法输入字符时,保留空格键,敲击回车键结束输入并运行接下来的代码。如输入”Hello world”,最终结果为“Hello world”;
Java流程控制02 Scanner进阶使用
nextInt()、nextDouble()、nextFloat()等等输入对应数据类型
hasNextInt()、hasNextDouble()、hasNextFloat()
package scanner;
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//从键盘接收数据
int i = 0;
float f = 0.1f;
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("输入的不是小数数据");
}
scanner.close();
}
}
package scanner;
import java.util.Scanner;
public class Demo05 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double sum = 0;
int m = 0;
System.out.println("请输入:");
while(scanner.hasNextDouble()){
System.out.println("请输入:");
double x = scanner.nextDouble();
m = m+1;
sum = sum + x;
}
System.out.println(m+"个数的总和为"+sum);
System.out.println(m+"个数的平均值"+(sum/m));
scanner.close();
}
}
Java流程控制03 顺序结构
按照编写代码的顺序先后运行
package struct;
public class FullDemo {
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");
}
}
Java流程控制04 if选择结构
单选择结构
if(布尔表达式){
}
双选择结构
if(布尔表达式){
真的结果
}else{
假的结果
}
多选择结构
if(布尔表达式1){
1的结果
}else if(布尔表达式2){
2的结果
}else if(布尔表达式3){
3的结果
}else{
以上条件都不满足的结果
}
嵌套if结构
if(布尔表达式){
if(布尔表达式){
}
}
Java流程控制05 Switch结构
switch(expression){
case value:
//语句
break; //可选
case value:
//语句
break; //可选
default: //可选
//语句
}
package struct;
public class Switch01 {
public static void main(String[] args) {
char grade = 'C';
switch (grade){
case 'A':
System.out.println("优秀");
break; //退出
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格"); //没有break,会继续执行下一句程序
default:
System.out.println("未知"); // A B C以外的情况
}
}
}
SWITCH支持String的判断(可以是字符串)
Java流程控制06 While循环详解
先判断再执行。
while(布尔){
}
package struct;
public class While01 {
public static void main(String[] args) {
//输出0-100
int i = 0;
while (i<100){
++i;
System.out.println(i);
}
}
}
package struct;
public class While02 {
public static void main(String[] args) {
while (true){
//死循环
}
}
}
package struct;
public class While03 {
public static void main(String[] args) {
int sum = 0;
int i = 0;
while (i<=100){
sum = sum + i ;
i++;
}
System.out.println(sum);
}
}
Java流程控制07 Do…While循环详解
先执行,再判断。满足条件退出循环
do{
//代码
}while(布尔表达);
package struct;
public class DoWhile01 {
public static void main(String[] args) {
int i = 0;
int sum = 0;
do{
sum = sum + i;
i++;
}while (i<=100);
System.out.println(sum);
}
}
Java流程控制08 For循环详解
for循环是支持迭代的一种通用结构,是最有效、最灵活的循环结构
for(初始化 ; 布尔判断 ; 更新){
//代码语句
}
package struct;
public class For01 {
public static void main(String[] args) {
int a = 1;
while (a<=100){
System.out.println(a);
a+=2;
}
System.out.println("while循环结束");
for (int i = 1; i<=100; i+=2){ //快捷键 100.for
System.out.println(i);
}
System.out.println("for循环结束");
}
}
package struct;
public class For02 {
public static void main(String[] args) {
//练习1 计算0-100的奇数和与偶数和
int oddSum = 0;
int evenSum = 0;
for (int i = 0 ; i <=100 ; i++){
if (i%2!=0){
oddSum+=i;
}else{
evenSum+=i;
}
}
System.out.println("奇数和为"+ oddSum);
System.out.println("偶数和为"+ evenSum);
}
}
package struct;
public class For05 {
public static void main(String[] args) {
//练习2 用while或for 循环输出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();
}
}
// print()输出不换行,println()输出换行
}
}
Java流程控制09 打印九九乘法表
package struct;
public class For006 {
public static void main(String[] args) {
//打印九九乘法表
for (int j = 0; j <= 9; j++) {
for (int i = 1; i <= j; i++) {
System.out.print(j + "*" + i + "=" + (j * i)+"\t");
}
System.out.println();
}
}
}
Java流程控制10 增强for循环
for(声明语句:表达式){
}
package struct;
public class ForPro {
public static void main(String[] args) {
int[] numbers = {10,20,30,40,50}; //定义一个数组
for (int x:numbers){
System.out.println(x); //循环数组的每一个元素,并赋值给X,输出X的值
}
System.out.println("=========================");
//类似于:
for (int i = 0; i<5; i++){
System.out.println(numbers[i]);
}
}
}
Java流程控制11 break、continue、goto
break
执行到break,直接跳出循环
package struct;
public class Demo007 {
public static void main(String[] args) {
int i = 0;
while (i<100){
i++;
System.out.println(i);
if (i==10){
break;
}
}
System.out.println("123");
}
}
contine
执行到contine,只停止当前循环的语句。会继续循环下去,直到满足循环条件
package struct;
public class Demo008 {
public static void main(String[] args) {
int i = 0;
while (i<100){
i++;
if (i%10==0){
System.out.println();
continue;
}
System.out.print(i);
}
System.out.println("123");
}
}
goto
goto有害,不建议使用
Java流程控制12 打印三角形及Debug
package struct;
public class TestDemo01 {
public static void main(String[] args) {
//打印一个三角形 5行
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();
}
}
}
原创文章:https://www.qqhhs.com,作者:起航®,如若转载,请注明出处:https://www.qqhhs.com/28.html
版权声明:本站提供的一切软件、教程和内容信息仅限用于学习和研究目的,请于下载的24小时内删除;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!