-
获取用户的输入
-
基本语法:Scanner s=new Scanner(System.in);
-
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据
//创建一个扫描器对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方法接收:");
//判断用户有没有输入字符串
if(scanner.hasNext()){
//使用next方法接收
String str = scanner.next();
System.out.println("输出的内容为:"+str);
}
//凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉
scanner.close();
-
next():
-
一定要读取到有效字符后才可以结束输入
-
对输入有效字符之前遇到的空白,next()方法会自动过滤
-
只有输入有效字符后才将其后面输入的空白作为分隔符
-
next()不能得到带有空格的字符串
-
-
nextLine():
-
以Enter为结束符,返回输入回车之前的所有字符
-
可以获得空白
-
顺序结构
选择结构
-
if单选择结构
equals:判断字符串相等
-
if双选择结构
-
if多选择结构
-
嵌套的if结构
if语句至多有1个else语句,else语句在所有的else if语句之后
if语句可以有若干个else if语句,他们必须在else之前
一旦其中一个else if语句检测为true,其它else if 或else 都跳过执行
-
switch多选择结构
switch case 语句判断一个变量与一系列值中某个值是否相等。每个值称为一个分支
switch语句中的变量类型可以是:
byte、short、int、或char
switch支持字符串string类型了
同时case标签必须为字符串常量或字面量
-
反编译
-
选择Project Structure--打开project compiler output里的路径
-
选中java文件--右键--选择open in explorer 打开文件夹
-
将project compiler output路径里的class文件复制粘贴到java文件夹下
-
打开即可
-
循环结构
-
while循环
while (布尔表达式) {}
先判断再执行
-
do...while循环
至少执行一次
先执行再判断
-
for循环
for(初始值;布尔值;更新)
是支持迭代的一种通用结构,是最有效、最灵活的循环结构
for循环执行的次数是在执行前就确定的
如要执行100次循环,可使用快捷键 100.for
//用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
for(int i=0;i<=1000;i++){
if(i%5==0){
System.out.print(i+"\t");
}
if(i%(5*3)==0){//控制每行输出3个
System.out.println("\n");
}
}
//还可定义一个变量控制每行输出3个
增强for循环
-
主要用于数组或集合的增强型for循环
-
格式如下:
for(声明语句 : 表达式)
{
//代码句子
}
-
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等
-
表达式:表达式是要访问的数组名,或者是返回值为数组的方法
int[] numbers = {10,20,30,40,50};
for(int x:numbers){
System.out.println(x);
}
break continue
-
break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句
-
continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定
-
goto关键字
//打印三角形
//划分为3部分,依次输出
for(int i = 1;i<=5;i++) {
for(int j = 5;j>=i;j--)//1
{
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {//2
System.out.print("*");
}
for (int j = 1; j < i; j++) {//3
System.out.print("*");
}
System.out.println();
}