标签:复制 正式 循环控制 算法 就是 cas char 处理 读取
java.util.Scanner 是 java5 的新特征,我们可以通过Scanner类来获取用户的输入。
基本语法
Scanner s = new Scanner(System.in);
通过Scanner 类的next() 与nextLine() 方法获取输入的字符串,在读取前我们一般需要用 hasNext() 与 hasNextLine() 判断是否还有输入的数据
用完Scanner (IO流),记得用 .close()关掉 ,节省一些资源,如果不关闭,会一直占用资源
next(): (接收字符串) ---- hasNext()
nextLine(): (接收字符串) ---hasNextLine()
以Enter 为结束符,也就是说 nextLine() 方法返回的是输入回车之前的所有字符
可以获得空白
nextInt():(接收整数) ---- hasNextInt()
nextFloat() : (接收小数) ----hasNextFloat()
等等类似的方法
//练习
public static void main(String[] args) {
//输入多个数字, 并求其总和与平均数,每输入一个数字用回车确认,
// 通过输入非数字来结束输入并输出执行结果
Scanner scanner = new Scanner(System.in);
double sum = 0;
int acccout = 0;
double average = 0;
while(scanner.hasNextDouble()){
double i = scanner.nextDouble();
sum+=i;
acccout++;
}
average = sum / acccout;
System.out.println("总和为"+sum +" "+"平均为" + average);
scanner.close();
}
if单选择结构
if双选择结构
if多选择结构
嵌套的if结构
switch多选择结构
switch语句中的变量类型可以是:
//源程序
package com.liuchengkongzhi;
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
switch (name){
case "li":
System.out.println("li");break;
case "hello":
System.out.println("hello");break;
default:
System.out.println("end");
}
scanner.close();
}
}
//反编译的字节码文件
package com.liuchengkongzhi;
import java.util.Scanner;
public class Demo1 {
public Demo1() {
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
byte var4 = -1;
switch(name.hashCode()) {
case 3453:
if (name.equals("li")) {
var4 = 0;
}
break;
case 99162322:
if (name.equals("hello")) {
var4 = 1;
}
}
switch(var4) {
case 0:
System.out.println("li");
break;
case 1:
System.out.println("hello");
break;
default:
System.out.println("end");
}
scanner.close();
}
}
从中可以看出,switch 支持字符串,实际上还是用数字判断,用到是对象的哈希值,所以,字符,数字,字符串。switch 实质还是用数字判断
?
//标签的简单写法
public static void main(String[] args) {
int count = 0;
outer:
for(int i=101;i<150;i++){
for(int j=2;j<i/2;j++){
if(i % j == 0){
continue outer;
}
}
System.out.println(i);
}
}
//快捷键 5.for +Enter 生成
//快捷键 fori
for (int i = 0; i < 5; i++) {
}
//6.fori + enter
for (int i = 0; i < 6; i++) {
}
// 5.forr + enter
for (int i = 5; i > 0; i--) {
}
//num.fori :从 0 到 num-1
//num.forr :从 num-1 到 0
//打印三角形
public static void main(String[] args) {
for (int i = 0; i <= 5; i++) {
for (int j = 5; j >=i ; j--) {
System.out.print(" ");
}
for (int j = 0; j < i ; j++) {
System.out.print("*");
}
for (int j = 1; j <i ; j++) {
System.out.print("*");
}
System.out.println();
}
}
*
***
*****
*******
*********
标签:复制 正式 循环控制 算法 就是 cas char 处理 读取
原文地址:https://www.cnblogs.com/moshanghuai/p/13298360.html