1.用户交互Scanner
Scannner 对象
我们可以通过Scanner 类获取用户的输入
基本语法
Scanner s=new Scanner(System.in);
使用:
通过Scanner类的next( ) 与 nextLine( ) 方法获取输入的字符串
在读取之前,一般需要使用hasNext() 与 hasNextLine() 判断是否还有输入的数据
next()
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
- 对于输入有效字符之后的空白,作为结束符
- next() 不能得到带有空格的字符串
nextLine()
- 以Enter为结束符,此方法返回的是输入回车之前的所有字符
- 可以获得空白
public static void main(String[] args) { //创建一个扫描对象,接收键盘数据 Scanner s=new Scanner(System.in); System.out.println("请输入数据:"); //使用nextLine()方式接收 String str= s.nextLine(); System.out.println("输出的内容为:"+str); //凡是属于IO流的类如果不关闭会一直占用资源,用完立即即关闭 s.close(); }
2. 顺序结构
- java的基本结构就是顺序结构
3.选择结构
- 多个选择表达式,之间没有交集的关系,判断语句声明在上下都无关紧要。
- 包含关系,通常小范围声明在大范围的上面,否则范围小的无法被执行输出;
- 可嵌套
- 就近原则
if单选择结构
if(表达式布尔型){ 执行语句 }
if 双选择结构
if(表达式){ 执行语句1; }else{ 执行语句2; }
if 多选择结构
if(表达式){ 执行语句1; }else if(表达式1){ 执行语句2; }else if(表达式2){ 执行语句3; } ``````````
switch多选择结构(匹配某一个字符/字符串)
结构
switch(expression){ case value: 语句; break;//可选 case value: 语句; break;//可选 ··· default://可选 //语句 }
switch语句中的变量类型可以为
byte、short、int 或 char、枚举类型(jdk5.0新增)、string(jdk7.0新增)
从java SE 7开始 支持字符串 String 类型了
case 标签必须为字符串常量或字面量
4.循环结构
四要素
- 初始化条件
- 循环条件
- 循环体
- 迭代条件
while循环
结构
while(布尔表达式){ //循环内容 }
布尔表达式为true,循环会一直执行下去
do ···while循环
至少执行一次循环体
结构
do{ //代码语句 }while(布尔表达式);
while 与 do ···while 的区别
- while先判断后执行,do···while是先执行后判断
- do····while总是保证循环体至少执行一次
for 循环
格式
for(初始化;布尔表达式;更新){ //执行语句 }
嵌套for循环
for (int i = 1; i < 10; i++) { for (int j=1;j<=i;j++){ System.out.print(j+"*"+i+"="+i*j+"\t"); } System.out.print("\n"); }
内层循环遍历一遍,只相当于外层循环执行循环体一次
外层循环控制行数,内层循环控制列数
Java5中引入主要用于数组的增强 for 循环
格式
for(声明语句:表达式){ //代码句子 }
声明语句:声明新的局部变量,该变量类型必须和数组元素的类型匹配
表达式:即要访问的数组名,或是返回值为数组的方法
示例
int [] number={10,20,30,44}; for(int x:number){ System.out.println(x); }
5.break & continue
- break 用于强行退出循环
- continue 用于终止某次循环过程