1.简述Scanner类及Random类的功能和使用方式?
Scanner类功能:引用数据类型,获取用户键盘录入的数据
方式:先在最顶部导包importjava.util.Scanner;
数据类型 变量名= new数据类型();
变量名.方法名();
举例
创建对象 Scanner sc=newScanner(System.in);
调用方法:int i=sc.nextInt();接收录入的数字
Strings=sc.next();接收录入的字符串
获取数字
System.out.println("请输入一个数字");int n =sc.nextInt();
System.out.println("n的值为" +n);
获取字符串
System.out.println("请输入一个字符串");
String str=sc.next();
System.out.println("str的值为" +str);
Random类功能:产生多种数据类型的随机数
顶部导包importjava.util.Random
举例 创建
Random 变量名= newRandom();
产生0-100的随机数整数给iint i = r.nextInt(100);
得到0.0-1.0范围的随机小数 赋值给d变量double d =r.nextDouble();
System.out.println(i);
System.out.println(d);2.if语句的格式有几种?注意事项是什么?分别在什么时候使用?三种 :()里放判断条件 执行语句放在{}if(判断条件){执行语句}if(){}else{}:如果满足某种条件,就进行某种处理,否则进行另一种处理if(){}else if(){}else if(){}...else{}:多种条件判断,进行多种不同处理
第一种:if(条件表达式){
执行语句
}
注意:1:if(条件表达式)其后没有分号。
一般来说,有"{}"有没有";",有";"就没有"{}"
2:if语句所控制的语句如果是一条语句,我们可以不写大括号;
如果控制的是两条以上的语句,必须加大括号。
if语句的控制体没有加大括号是其后跟的一条语句。
建议:永远加上大括号。避免不必要的错误。
第二种:if(条件表达式){
执行语句1;
}else{
执行语句2;
}
注意:1:执行流程 判断条件表达式,为true,执行语句1,若为false ,执行语句22:if可单用,有else必有if
第三种:if(条件表达式){
执行语句1;
}else if(条件表达式){
执行语句2;
}
.......else{
执行语句n;
}1:else可以省略,但是不建议。
(1)它是第三种格式的组成部分。
(2)你有可能没有判断完所有的情况,我们就可以使用else来完成特殊情况。2:执行流程
格式很长,但它整体只是一条语句。
不断的判断,只要有满足条件的条件表达式,就执行该判断处控制的语句体,执行完后。语
句结束。
当都不满足时候,执行else。3:if后面必须有条件表达式。
else后面没有条件表达式。4:if语句的嵌套
if语句里面的语句体还是if语句。3.for循环、while循环、do-while循环的格式是什么?简述执行流程及注意事项?
for循环:for(初始化表达式; 循环条件; 操作表达式){
执行语句
………
}
for关键字后面()中包括三部分:初始化表达式、循环条件和操作表达式,它们之间“;”分
隔{}中的执行语句为循环体。
while循环:while(循环条件){
执行语句
………
}
当循环条件为true时,循环体就执行。执行完毕时会继续判断循环条件,如条件仍为true则
继续执行,直到循环条件为false时,整个循环过程才结束。do-while:do{
执行语句
………
}while(循环条件);
循环体会无条件执行一次,然后再根据循环条件来决定是否继续执行。5.简述break、continue及循环标号的作用?
break结束当前循环
contiune 跳出本次循环
在任何内循环内可以通过查找标号的方式来实现结束和挑传操作
6.编写程序,生成5个1至10之间的随机整数,并打印结果到控制台。
import java.util.Random;
public class RandomDemo{
public static void main (String args[]){
for (int a = 0 ; a < 5 ; a++){
System.out.println(new Random().nextInt(10)+1);
}
}
}
8.编写程序,打印1到100之内的整数,但数字中包含7的要跳过
代码1:
import java.util.*;
//打印1到100之内的整数,但数字中包含7的要跳过
public class NumberDemo{
public static void main (String[] args){
for (int a = 1 ; a <= 100 ; a++){
if(!String.valueOf(a).contains("7")){
System.out.print(a+" ");
}
}
}
}
代码2:
//打印1到100之内的整数,但数字中包含7的要跳过
public class User {
public static void main(String[] args) {
int ge, shi;
for (int a = 1; a <= 100; a++) {
ge = a % 10;
shi = a / 10 % 10;
if (a < 10) {
if (!(a == 7)) {
System.out.print(a+" ");
}
} else {
if (!(ge == 7 || shi == 7)) {
System.out.print(a+" ");
}
}
}
}
}
代码3:
public class User {
public static void main(String[] args) {
for (int a = 1 ; a <= 100; a++){
if(a % 10 == 7 || a / 10 % 10 == 7){
continue;
}
System.out.println(a);
}
}
}
10.我国最高山峰是珠穆朗玛峰,8848米。现在我有一张足够大的纸,它的厚度是0.01
米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度。
public static void main(String[] args) {
double paperThick = 0.01;
int count = 0;
while (true){
if (paperThick < 8848.0){
count++;
paperThick = paperThick * 2.0;
System.out.println("第"+count+"次折"+paperThick+"M");
}else{
break;
}
}
System.out.println("一共能折"+count+"次");
}
11.看程序写结果:请自己独立分析,先不要编译运行。
第一题
int x = 1,y = 1;
if(x++==2 & ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
//x=2 y=2
---------------------------------------------------
第二题
int x = 1,y = 1;
if(x++==2 && ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
//x=2 y = 1
---------------------------------------------------
第三题
int x = 1,y = 1;
if(x++==1 | ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
//x = 7 y = 2
---------------------------------------------------
第四题
int x = 1,y = 1;
if(x++==1 || ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
//x = 7 y = 1
---------------------------------------------------
第五题//b
boolean b = true;
if(b==false)
System.out.println("a");
else if(b)
System.out.println("b");//true
else if(!b)
System.out.println("c");
else
System.out.println("d");
---------------------------------------------------
12.需求:
* 键盘录入x的值,计算出y的并输出。
* x>=3 y = 2 * x + 1;
* -1
* x<=-1 y = 2 * x - 1;
代码:
public static void main(String[] args) {
@SuppressWarnings("resource")
int x = new Scanner(System.in).nextInt();
System.out.println("y = " + (x >= 3 ? ((2 * x) + 1) : x > -1 && x < 3 ? 2 * x : x <= -1 ? ((2 * x) - 1) : ""));
}
13.键盘录入三个整数,并将三个数据中的最大值打印在控制台。
代码:
public static void main(String[] args) {
@SuppressWarnings("resource")
int x = new Scanner(System.in).nextInt();
@SuppressWarnings("resource")
int y = new Scanner(System.in).nextInt();
@SuppressWarnings("resource")
int z = new Scanner(System.in).nextInt();
System.out.println("max = " + (Math.max(Math.max(x, y), z)));
}