Java随机数-for循环-Scanner-Switchcase
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java随机数-for循环-Scanner-Switchcase,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5809字,纯文字阅读大概需要9分钟。
内容图文
从键盘获取值
java.util.Scanner input = new java.util.Scanner(System.in);
- java.util.Scanner:是一个扫描仪的类型,是引用数据类型,首字母是大写,其中java.util是包
- input是一个变量名,他表示这个扫描仪
- new java.util.Scanner(System.in)是给input赋值的,他是一个新的对象
- (System.in)是指定了数据的来源是表示的输入设备,默认代表键盘输入
- 注意:需要根据响应的方法,来输入指定类型的值,如果输入的数据类型与要求的类型不匹配时,会报异常:InputMisMatchException 。导致程序终止
/*具体实现步骤
1.导包: import java.util.Scanner;
2.Scanner的实例化:Scanner input = new Scanner(System.in);
3.调用Scanner类的相关方法(next() / nextXxx()),来获取指定类型的变量。
*/
import java.util.Scanner; // 直接引入写着比较方便
public class ScannerTest {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
System.out.println(num);
}
}
public static void main(String[] args) {
//默认是扫描你键盘输入的东西,赋值给input这个变量
java.util.Scanner input = new java.util.Scanner(System.in);
//只是输出了println里的字符串而已
System.out.print("请输入你的年龄:");
//从扫描仪中获取一个int的值,赋值给age
//nextInt是input这个对象的方法,所以Int的I是大写,因为方法名和变量名一样,从第二个单词开始首字母大写
int age = input.nextInt();
//这里是打印age的值,没啥说的
System.out.println(age);
}
public static void main(String[] args) {
//默认是扫描你键盘输入的东西,赋值给input这个变量
java.util.Scanner input = new java.util.Scanner(System.in);
//只是输出了println里的字符串而已
System.out.print("请输入你的年龄:");
//从扫描仪中获取一个int的值,赋值给age
//nextInt是input这个对象的方法,所以Int的I是大写,因为方法名和变量名一样,从第二个单词开始首字母大写
int age = input.nextInt();
System.out.print("请输入姓名:");
//string太常用了,所以简化了直接就是next()
String name = input.next();
System.out.print("请输入体重:");
//从扫描仪中获取一个double的值,赋值给weight
//方法名的第二个字母大写!!!
double weight = input.nextDouble();
System.out.print("帅不帅:");
//从扫描仪中获取一个boolean的值,赋值给shuai
boolean shuai = input.nextBoolean();
System.out.print("请输入性别:");
//因为输入单个char太少用了,Scanner中没有提供输入单个char的方法,那我们只能变通,先按字符串接收,然后取第一个字符
//input.next()是按字符串来接收,charAt(第二个字母大写)里的char是字符的意思At是在的意思(合起来就是字符在哪)
// .charAt(0)就是取到input.next()这个字符串的下标第0个位置
char sex = input.next().charAt(0);
System.out.println("姓名:"+name);
System.out.println("性别:"+sex);
System.out.println("年龄:"+age);
System.out.println("体重:"+weight);
System.out.println("帅吗:"+shuai);
}
产生随机数**
//[]包括 ()不包括
Math.random() // 产生随机数
Math.random() // 默认产生[0.0, 1.0)范围的随机数
Math.random()*90 // [0.0, 90.0)
Math.random()*90+10 // [10.0, 100.0)即得到[10.0, 99.0]
使用(int)(Math.random()*90+10)产生一个两位数的随机数。 // 用(int)强转成int
//公式:[a,b]:
(int)(Math.random() * (b - a + 1) + a)
switch-case
基本结构
switch(表达式){
case 常量值1:
语句块1;
case 常量块2:
语句块2;
...
default:
语句块(default就是相当于if语句里的else,但也可以加break)
}
执行特点:
- 入口
- 当switch()中的表达式的值与某一个case后面的常量值"相等",就会从这个case进入
- 当swiitch()中的表达式的值与所有的case后面的常量值都“不相等”,就会寻找default进入(如果你default放到了case前面,就需要break了。不然一直往下干)
- 出口
- 自然出口:switch结束的那个大括号}
- 中断出口:break (或后面要讲的return等)
- 一旦找到“入口”就会顺序往下执行,直到遇到“出口”
- 要求:
- case后边必须是常量值
- case后边的常量值不能重复(那他就不知道应该从哪进了)
- switch()中的表达式的类型有要求:
- 允许4种基本数据类型:byte,short,int,char
- 允许两种引用数据类型:枚举(JDK1.5之后),String(JDK1.7之后)
switch-case练习
多个case执行语句相同,可以考虑进行合并
// 成绩大于等于60输出及格,小于60输出不及格(必须用switch case)
int score = 78;
switch (score / 10){
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("不及格");
break;
case 6:
case 7:
case 8:
case 9:
case 10:
System.out.println("及格");
break;
}
//***************更牛逼的方法*****************
int score = 78;
switch(score / 60){
case 0:
System.out.println("不及格");
break;
case 1:
System.out.println("及格");
break;
}
补充:
偷学判断两个字符串内容是否一样:
String类型的变量(字符串1).equals(要比较的变量(字符串2))
Scanner input = new Scanner(System.in);
System.out.println("输入性别:");
String sex = input.next();
if(sex.equals("男")){
System.out.println("是个爷们");
}else if(sex.equals("女")){
System.out.println("臭娘们");
}else{
System.out.println("是个人吗?");
}
// equals()是字符串的一个方法。sex.equals("男")的意思就是sex的值和括号里的值是否相同,相同就是true不同就是false
循环结构
- for循环
- while循环
- do...while循环
- foreach增强循环(后面讲)
for循环
语法结构:里边一定有俩分号,不能多也不能少(下边的结构是for(;;)是无限循环)
for(;;){
需要重复执行的语句
}
for(;;){
System.out.println("于建华真帅");
}
//无限循环
for(循环变量初始化表达式①;循环条件表达式②;循环变量迭代表达式③){
循环体语句④:需要重复执行的语句
}
执行过程:
- 执行循环变量初始化表达式①;
- 进行循环条件表达式②判断;
- 如果循环条件表达式②成立,执行循环体语句④,然后再执行循环变量迭代表达式③,完事后回到 第二步,再进行判断(如果循环条件表达式②不成立,结束整个for循环)
注意:循环条件表达式②要么不写,要么必须是boolean类型
for(int zq = 1; zq <= 5; zq++){
System.out.println("于建华真帅");
}
/*
于建华真帅
于建华真帅
于建华真帅
于建华真帅
于建华真帅
*/
// 输入俩数,求他俩的最大公约数和最小公倍数;例如:12和20的最大公约数为6,最小公倍数为60
Scanner input = new Scanner(System.in);
System.out.println("第一个正整数:");
int m = input.nextInt();
System.out.println("第二个正整数:");
int n = input.nextInt();
//最大公约数
int num = m < n ? m:n;
for (int i = num; i >= 1; i--){
if(m % i == 0 && n % i == 0){
System.out.println("最大公约数为:" + i);
break;
}
}
//最小公倍数
int number = m > n ? m:n;
for (int i = number; i <= m*n ;i++){
if (i % m == 0 && i % n == 0){
System.out.println("最小公倍数:" + i);
break;
}
}
内容总结
以上是互联网集市为您收集整理的Java随机数-for循环-Scanner-Switchcase全部内容,希望文章能够帮你解决Java随机数-for循环-Scanner-Switchcase所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。