import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
//判断用户有没有输入字符串
if(scanner.hasNext()){
//使用next方式接收
String str=scanner.nextLine() ;
//String str=scanner.next() ;
System.out.println("输出的内容:"+str);
//凡是属于IO流的类如果不关闭会一直占用资源
scanner.close() ;
}
}
}
public class Demo4 {
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("不是浮点数数据");
}
scanner.close();
}
}
public class Demo5 {
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;
sum=sum+x;
}
System.out.println(m+"个数的和为"+sum);
System.out.println(m+"个数的平均值是"+(sum/m));
scanner.close() ;
}
}
2.顺序结构
3.选择结构
3.1 if单选择结构
package com.baidu.struct;
import java.util.Scanner;
public class ifDemo1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
String s=scanner.nextLine() ;
//equals:判断字符串是否相等
if (s.equals("Hello") ){
System.out.println(s);
}
System.out.println("end");
scanner.close();
}
}
结果:
package com.baidu.struct;
import java.util.Scanner;
public class ifDemo2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in );
System.out.println("请输入成绩:");
int score=scanner.nextInt();
if (score>60){
System.out.println("及格");
}else{
System.out.println("不及格");
}
scanner.close();
}
}
结果:
package com.baidu.struct;
import java.util.Scanner;
public class ifDemo3 {
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>=90 && score<100 ){
System.out.println("A级");
}else if(score>=80 && score<90 ){
System.out.println("B级");
} else if(score>=70 && score<80 ){
System.out.println("C级");
}else if(score>=60 && score<70 ){
System.out.println("D级");
}
else if( score<60 &&score>=0){
System.out.println("不及格");
}else {
System.out.println("不合法");
}
scanner.close() ;
}
}
package com.baidu.struct;
public class SwitchDemo1 {
public static void main(String[] args) {
//case 穿透 //switch匹配一个具体的值
//如果不加"break;",后面语句也会进行
char grade='C';
switch (grade ){
case 'A':
System.out.println("等级为A");
break;
case 'B':
System.out.println("等级为B");
break;
case 'C':
System.out.println("等级为C");
break;
case 'D':
System.out.println("等级为D");
break;
case 'E':
System.out.println("等级为E");
break;
default:
System.out.println("不合法");
}
System.out.println("");
}
}
package com.baidu.struct;
public class SwitchDemo2 {
public static void main(String[] args) {
//JDK7的新特性,表达式结果可以是字符串!!!
//字符的本质是数字
//反编译 java--class(字节码文件) -----反编译(IDEA)
String name="再来一瓶";
switch (name){
case "谢谢惠顾":
System.out.println("谢谢惠顾");
break;
case "再来一瓶":
System.out.println("再来一瓶");
break;
default:
System.out.println("不合法");
}
}
}
对应的class 字节码文件
// class 字节码文件
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package com.baidu.struct;
public class SwitchDemo2 {
public SwitchDemo2() {
}
public static void main(String[] args) {
String name = "再来一瓶";
byte var3 = -1;
switch(name.hashCode()) {
case 648032366:
if (name.equals("再来一瓶")) {
var3 = 1;
}
break;
case 1104005086:
if (name.equals("谢谢惠顾")) {
var3 = 0;
}
}
switch(var3) {
case 0:
System.out.println("谢谢惠顾");
break;
case 1:
System.out.println("再来一瓶");
break;
default:
System.out.println("不合法");
}
}
}
4.循环结构
4.1 while循环
package com.baidu.struct;
public class WhileDemo1 {
public static void main(String[] args) {
//输出1~100
//sum=0+1+2+3.....+100
int i=0;
int sum=0;
while (i<=100){
sum =sum+i;
i++;
// System.out.println(i);
}
System.out.println(sum); //5050
}
}
4.2 do…while循环
package com.baidu.struct;
public class DoWhileDemo1 {
public static void main(String[] args) {
//sum=0+1+2+3.....+100
int i=0;
int sum=0;
do{
sum =sum +i;
i++;
}while(i<=100);
System.out.println(sum); //5050
}
}
package com.baidu.struct;
public class DoWhileDemo2 {
public static void main(String[] args) {
int a=0;
do{
System.out.println(a); //5050
}while(a<0);
System.out.println("==========");
while(a<0){
System.out.println(a);
}
}
}
4.3 for循环
package com.baidu.struct;
public class ForDemo1 {
public static void main (String[]args){
int a = 0; //初始化条件
while(a<=100){ //条件判断
System.out.println(a); //循环体
a=a+2; //迭代
}
//初始化条件//条件判断//迭代
for (int i = 0; i <= 100; i++) {
System.out.println(i); //循环体
}
}
}
//高效写for :100.for
练习1:
package com.baidu.struct;
public class ForDemo2 {
public static void main (String[]args){
int oddNum=0;
int evenNum=0;
int i=0;
//用while循环语句
while(i<=100){
if(i%2 !=0){
oddNum=oddNum+i;
}else {
evenNum=evenNum+i;
}
i++;
}
//用for循环语句
// for (int i = 0; i <= 100; i++) {
// if(i%2 !=0){
// oddNum=oddNum+i;
// }else {
// evenNum=evenNum+i;
// }
// }
System.out.println(oddNum);
System.out.println(evenNum);
}
}
练习2:
package com.baidu.struct;
public class ForDemo3 {
public static void main(String[] args) {
for (int i1 = 0; i1 <= 1000; i1++) {
if(i1%5==0){
System.out.print(i1+"t");
}
if (i1%(15)==0)
System.out.println();
}
}
}
练习3:
package com.baidu.struct;
public class ForDemo4 {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j=1; j <= i; j++){
System.out.print(j+"x"+i+"="+(i*j)+"t");
}
System.out.println();
}
}
}
结果:



