Scanner对象
我们可以通过Scanner类来获取用户输入
Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们需要使用hasNext()与hasNextLine()来判断是否还有输入数据
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("输入的内容为");
System.out.println(str);
}
//凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯,用完就关
scanner.close();
}
}
/*
使用next方式接收:
Hello World
输入的内容为
Hello
*/
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.hasNextLine()){
String str=scanner.nextLine();
System.out.println(str);
}
}
}
/*
使用nextLine()接收
Hello World
Hello World
*/
public class Demo03 {
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);
}
scanner.close();
}
}
/*
请输入整数
10
整数数据:10
请输入小数
1.5
小数数据:1.5
*/
流程控制
顺序结构
一句一句执行,是任何一个算法都离不开的一种基本结构
选择结构
if但选择结构
if(布尔表达式){
//如果布尔表达式为真则执行里面的语句
}
if双选择结构
if(布尔表达式){
//如果布尔表达式为真则执行这里面的语句
}else{
//否则执行这里的语句
}
if多选择结构
if(){
}else if(){
}else if(){
}
....//若干个else if()
else{
}
switch多选择结构
public class Demo04 {
public static void main(String[] args) {
//jdk7以后,表达式结果可以是字符串
//反编译 java--class(字节码文件//看不懂)-----反编译(IDEA)
char grade = 'd';
switch(grade){
//case穿透
case 'a':
System.out.println("优秀");
break;
case 'b':
System.out.println("良好");
break;
case 'c':
System.out.println("及格");
break;
case 'd':
System.out.println("再接再厉");
case 'e':
System.out.println("挂科");
default:
System.out.println("未知等级");
}
}
}
/*
再接再厉
挂科
未知等级
*/
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MTTjFM1U-1629796674064)(C:\Users\夏占博\Desktop\截屏\Snipaste_2021-08-24_16-09-54.png)]
循环结构
while循环
public class Demo01 {
public static void main(String[] args) {
int i=0;
while(i<100){
i++;
System.out.println(i);
}
}
}
do…while循环
while循环如果不满足条件则永远不会执行,dowhile循环无论结果如何,都会执行一次
do{
//代码语句
}while(布尔表达式)
for循环
for(初始值;布尔表达式;更新){
//代码语句
}
public class Demo02 {
public static void main(String[] args) {
for (int i=1;i<=100;i++){
System.out.println(i);
}
}
}
关于for循环
最先执行初始化步骤,可以声明一种类型,但可初始化一个或多个循环控制变量,亦可以是空语句
然后检测布尔表达式的值。如果为true,循环体被执行。如果为false,终止循环,开始执行接下来的语句
执行一次循环后,更新一次循环控制变量
public class Demo03 {
public static void main(String[] args) {
//计算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("偶数的和为:"+evenSum);
System.out.println("奇数的和为:"+oddSum);
}
}
public class Demo04 {
//有while或for循环来输出1-1000之间能被5整除的数,每行输出3个
public static void main(String[] args) {
System.out.println("--------------- for循环------------------");
int count=0;
for (int i=0;i<=1000;i++){
if (i%5==0){
count++;
if (count!=3){
System.out.print(i+"\t");
}else{
System.out.println(i);
count=0;
}
}
}
}
}
public class Demo05 {
//打印九九乘法表
public static void main(String[] args) {
for (int i=1;i<=9;i++){
for (int j=1;j<=i;j++){
if (i!=j){
System.out.print(i+"*"+j+"="+i*j+"\t");
}else{
System.out.println(i+"*"+j+"="+i*j);
}
}
}
}
}
增强for循环
主要用住数组或者集合的增强型for循环
public class Demo06 {
public static void main(String[] args) {
int[] numbers={10,20,30,40,50};
for (int x:numbers){
System.out.println(x);
}
}
}
break continue
break
break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句
public class BreakDemo {
public static void main(String[] args) {
for (int i=0;i<=100;i++){
System.out.println(i);
if (i==30){
break;
}
}
System.out.println("程序结束");
}
}
continue
continue 跳过该次循环,继续执行剩余的循环部分
public class ContinueDemo {
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+"\t");
}
}
}
public class TestDemo01 {
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();
}
}
}
/*
*
***
*****
*******
*********
*/