一.用户交互Scanner
我们可以通过Scanner类来获取用户的输入,引入java.util.Scanner
1.基本语法
Scanner scanner=new Scanner(System.in);
//判断用户有没有输入字符串
if(scanner.hasNext()){
//使用next方法接收
String str=scanner.next();
}
scanner.close();//用完关掉,否则占用资源
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
2.next()和nextLine()的区别:
next():
a.一定要读取到有效字符后才可以结束输入
b.对输入的有效字符之前遇到的空白,next()方法会自动将其去掉
c.只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
d.next()不能得到带有空格的字符串
nextLine():
a.以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
b.可以获得空白
3.Scanner其他用法
获取整数
if(scanner.hasNextInt()){
i=scaaner.nextInt();
}
二.顺序结构
1.定义
java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句地执行。顺序结构是最简单的算法结构。
语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,他是任何一个算法都离不开的一种基本算法结构。
三.选择结构
1.if单选择结构
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
2.if双选择结构
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}else{
//如果布尔表达式为true将执行的语句
}
3.if多选择结构
if(布尔表达式1){
//如果布尔表达式1为true将执行的语句
}else if(布尔表达式2){
//如果布尔表达式2为true将执行的语句
}else if(布尔表达式3){
//如果布尔表达式3为true将执行的语句
}else{
//如果以上布尔表达式都不为true将执行的语句
}
4.嵌套的if结构 注意:else总是与他同级的最近的一个if匹配
if(布尔表达式1){
if(布尔表达式2){
//如果布尔表达式2为true将执行的语句
}else{
//如果布尔表达式为true将执行的语句
}
}else{
if(布尔表达式3){
//如果布尔表达式3为true将执行的语句
}else{
//如果布尔表达式为true将执行的语句
}
}
5.switch多选择结构
switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
expression的值类型:
1, int 2,char 3,byte 4,short 5,枚举 6, String
switch(expression){
case value1:
//语句
break;
case value2:
//语句
break;
... ...
default://可选
//语句
}
四.循环结构
1.while循环
只要布尔表达式为true,循环就一直执行下去
while(布尔表达式){
//循环内容
}
2.do…while循环
先循环再进行判断
do{
//代码语句
}while(布尔表达式);
3.for循环
for(int i=0;布尔表达式;i++){
//代码语句
}
4.在java5中引入了一种主要用于数组的增强型for循环
for(声明语句:表达式){
//代码句子
}
int nums[]=new int[]{1,2,3,4,5,6};
for(int i:nums){
system.out.print(i);
}
五.break&continue&goto
break:跳出当前循环,switch中也可以使用
continue:终止某次循环进行下一次循环判定
goto:
outter: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+"");
}