学习内容:
1、 输入函数的学习
2、 分支结构
3、 循环结构与流程控制
学习时间:
1、 周三下午三点二十
学习产出:
1、输出函数的学习
从键盘中获取字符
- 导包:import java.util.Scanner ;
- Scanner的实例化 Scanner scan=new Scanner(system.in)
- 调用Scanner类的相关方法来获取指定类型变量
注意 :导包写在类声明之前
import java.util.Scanner;
class Scannertest{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
String name = scan.next(); //输入姓名
String sex = scan.next(); //输入性别
int old = scan.nextInt(); //输入年龄
//巧取char类型输入格式
String fakeChar = scan.next();
char realChar = fakeChar.charAt(0); //.charAt(),获取单个字符
}
}
注意: Java中,想获取输入类型,只用改变next后面的类型就行
,但没有存取char类型的语句
2、分支结构
分支结构 | 区别 |
---|---|
if-else | 能用switch的,if都能用 |
switch | 执行效率比if快,看起来比if整体更整洁 |
着重讲一下switch结构,如下
switch(){
case 常量1 : 执行部分 ;break;
case 常量2 :执行部分;break;
default : 执行部分; break;
注意:
- if()括号里的语句是要被执行的,原有数值改变
- switch里的default相当于 else,可以不加break,也相当于switch末尾
- switch里若没有default,则只判断与之相符的case值一次,若正确,则以后语句均会执行且不判断,直到遇到break或switch语句结束
- default可加可不加,位置也随意,switch只先从case中读取再读default
3、循环结构与流程控制
循环方法 | 区别 |
---|---|
for | 先判断在执行,赋值判断条件,在括号里 |
while | 先判断在执行,判断语句在执行体内 |
do-while | 先执行后判断 |
class continueBreakTest{
public static void main(String[] args){
int count=0;
long start = System.currentTimeMillis();
label: for(int i=2;i<=100000;++i){
for(int j=2;j<=Math.sqrt(i);++j){
if(i % j ==0){
continue label;
}
} count++;
}
long end = System.currentTimeMillis();
System.out.println("the number is: "+ count);
System.out.println("the spend of time is:" + (end - start));
}
}
注意:
break直接终止此个循环语句,当前的循环
continue是结束此轮循环,当次循环
break label; label可在循环结构前面
System.currentTimeMillis();
解释:1970年一月一日0:00至今的毫秒数,程序开头与结束各一个,可计算程序运行速度