我们可以通过Scanner类来获取用户的输入
!!!凡是属于IO流的类如果不关闭会一直占用资源,所以用完最好关闭掉。
next():
一定要读取到有效字符后次啊可以结束输入;
对输入有效字符之前遇到的空白,next()方法自动将其去掉;
只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符;
next()不能得到带有空格的字符串;
public class Demo03 {
public static void main(String[] args) {
?
System.out.println("请输入:");
Scanner scanner = new Scanner(System.in);
if (scanner.hasNext()){
String a=scanner.next();//输入的是hello world
System.out.println("输出:"+a);//输出的是hello
}
?
scanner.close();
}
}
nextLine():
以Enter(回车)作为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符;
可以获得空白
public static void main(String[] args) {
?
System.out.println("请输入:");
Scanner scanner = new Scanner(System.in);
if (scanner.hasNextLine()){
String a=scanner.nextLine();//输入的是hello world
System.out.println("输出:"+a);//输出的是hello world
}
?
scanner.close();
}
}
nextInt():整数型获取、nextDouble:浮点数获取。。。。。。等等。
Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句的执行;
它是任何一个算法都离不开的一种基本算法结构;
public class ShunXuDemo {
public static void main(String[] args) {
System.out.println("hello world1");
System.out.println("hello world2");
System.out.println("hello world3");
System.out.println("hello world4");
System.out.println("hello world5");
/*
按着顺序输出hello world1~5;
*/
}
}
//语法
if(布尔表达式){
//如果布尔表达式为真则将执行的语句
}
?
//语法
if(布尔表达式){
//如果布尔表达式为真则将执行的语句
}eles{
//如果布尔表达式为假则将执行的语句
}
//语法
if(布尔表达式 1){
//如果布尔表达式1为真则将执行的语句
}eles if(布尔表达式 2){
//如果布尔表达式2为真则将执行的语句
}eles if(布尔表达式 3){
//如果布尔表达式3为真则将执行的语句
}else{
//如果以上表达式都不为真执行代码
}
switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
//语法 case穿透 如果没有break则会以此执行后方代码 switch 匹配一个具体的值
switch(expression//){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
case value:
//语句
break;//可选
default://可选
//语句
}
反编译 java---class(字节码文件)-----反编译(IDEA)
在IDEA中找到ProjectStructure--Project---out的输出路径---找到.class文件---放到.java文件夹中--在IDEA中打开
while是最基本的循环
//结构
while(布尔表达式){
//循环内容
}
注意:
!!!我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。
少部分情况需要循环一直执行,比如服务器的请求响应监听等。
//结构
do{
//循环代码
}while(布尔表达式)
//结构
for(初始化;布尔表达式;更新){
//代码结构
}
//IDEA快捷使用 100.for
for (int i = 0; i < 100; i++) {
}
//死循环
for(;;){
}
package com.liu.struct;
public class ForDemo03 {
public static void main(String[] args) {
//九九乘法表
for (int i = 1; i < 10; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j+"*"+i+"="+i*j+" ");
}
System.out.println();
}
}
}
package com.liu.struct;
import java.util.Scanner;
public class ForDemo05 {
public static void main(String[] args) {
//打印数字三角形
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要打印的数字三角形行数:");
int num=scanner.nextInt();//输入的数据
System.out.println("输出结果:");
for (int i = 1; i <=num; i++) {
for (int j=num;j>i;j--){
System.out.print(" ");//打印出左面空
}
for (int j=1;j<=i;j++){
System.out.print(j);//打印左半部三角形
}
for (int k=i-1;k>=1;k--){
System.out.print(k);//打印出右半部三角形
}
System.out.println();
}
}
}
/*
输入的数据为5
1
121
12321
1234321
123454321
*/
增强for用来输出遍历数组和集合
for(声明语句:表达式){
//代码句子
}java
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域定在循环语句块,其值与此时的数组元素的值相等。
表达式:表达式是要访问的数组名,或返回值为数组的方法。
break:在任何循环的主体部分,均可以使用break控制循环的流程,break用于强行退出循环,不执行循环中剩余的代码。
continue:语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判断。
原文:https://www.cnblogs.com/shiwangmmp/p/14753770.html