1. 用户交互 Scanner
Scanner 对象
next()
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方法接收:");//输入hello World
//判断用户哟没有输入字符串
if(scanner.hasNext()){
//使用next方式接受
String str = scanner.next();
System.out.println("输出的结果为:"+str);//输出的结果为hello
}
//番薯属于IO流的类如果不关闭会一直占用资源
scanner.close();
}
}
nextLine()
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方法接收:");//hello World
//判断用户哟没有输入字符串
if(scanner.hasNextLine()){
//使用nextLine方式接受
String str = scanner.nextLine();
System.out.println("输出的结果为:"+str);//输出的结果为hello World
}
//番薯属于IO流的类如果不关闭会一直占用资源
scanner.close();
}
}
2. 顺序结构
3.选择结构
if语句
if(布尔表达式)
{
//如果布尔表达式为true将执行的语句
}
if…else语句
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
代码实例
package structure;
import java.util.Scanner;
public class ShunXu {
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();
}
}
if…else if…else 语句
if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}
嵌套的 if…else 语句
if(布尔表达式 1){
如果布尔表达式 1的值为true执行代码
if(布尔表达式 2){
如果布尔表达式 2的值为true执行代码
}
}
Switch多选择结构
如果 case 语句块中没有 break 语句时,匹配成功后,从当前 case 开始,后续所有 case 的值都会输出。
case具有穿透性
public class SwitchDemo {
public static void main(String args[]){
//char grade = args[0].charAt(0);
char grade = 'C';
switch(grade)
{
case 'A' :
System.out.println("优秀");
break;
case 'B' :
case 'C' :
System.out.println("良好");
break;
case 'D' :
System.out.println("及格");
break;
case 'F' :
System.out.println("你需要再努力努力");
break;
default :
System.out.println("未知等级");
}
}
}
3. 循环结构
while 循环
do…while 循环
for循环
利用for循环输出1-1000之间能被5整除的数,并每行输出三个
package structure;
public class ForDemo {
public static void main(String args[]){
for (int i = 0; i <=1000; i++) {
if(i%5==0){
System.out.print(i+"\t");
}
if(i%(3*5)==0){//每行
System.out.println();
//System.out.print("\n");
}
}
//println 输出完会换行
//print 输出完不会换行
}
}
增强for循环
package structure;
public class ForDemo02 {
public static void main(String args[]){
int[] numbers = {10,20,30,40,50};
for(int i = 0;i<5;i++){//效果是一样的
System.out.println(numbers[i]);
}
System.out.println("----------");
//遍历数组的元素
//增强for循环
for(int x:numbers){
System.out.println(x);
}
}
}
break continue goto关键字
beak和continue
package structure;
public class Con_break {
public static void main(String[] args) {
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ) {
// x 等于 30 时跳出循环
if( x == 30 ) {
break;
}
System.out.print( x + " ");//输出结果为10 20
}
for(int y : numbers ) {
if( y == 30 ) {
continue;
}
System.out.print( y + " ");//输出结果为10 20 40 50
}
}
}
goto(不常用)
package structure;
public class GotoDemo {
public static void main(String[] args){
//打印101到105之间的质数
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
}
}
}