Day12_Java_作业
1:需求:请设计一个方法,可以实现获取任意范围内的随机数。
package student;
import java.util.Random;
import java.util.Scanner;
/**
* 需求:请设计一个方法,可以实现获取任意范围内的随机数。
* 功能:1键盘录入数据范围
*
* 产生随机数输出
*
* @author Aoman_Hao
*/
public class StudentWorkDay12_1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("数据范围左:");
int minnum = sc.nextInt();
System.out.println("数据范围右:");
int maxnum = sc.nextInt();
//rand.nextInt(max),生成[0,max)的的随机数
for(int i=1;i<10;i++){
int n =new Random().nextInt(maxnum-minnum+1);
System.out.println("范围"+minnum+"到"+maxnum+"的一个随机数为"+(n+minnum));
}
}
}
输出:
数据范围左:
2
数据范围右:
5
范围2到5的一个随机数为3
范围2到5的一个随机数为3
范围2到5的一个随机数为3
范围2到5的一个随机数为5
范围2到5的一个随机数为4
范围2到5的一个随机数为2
范围2到5的一个随机数为5
范围2到5的一个随机数为5
范围2到5的一个随机数为4
(循环只为验证)
2:下面代码执行的结果是:
public static void main(String[] args) {
String s1 = new String(“hello”);
String s2 = new String(“hello”);
System.out.print(s1 == s2);
System.out.print(“,”);
System.out.println(s1.equals(s2));
}
}
输出:false,true
==比较地址符,s1s2都是新建的变量,在堆内存中都存在,且两者地址符不同,返回false
.equals比较字符串的内容,显然是相同的,则返回true
3:下面代码执行的结果是:
public static void main(String arg[]) {
StringBuffer a = new StringBuffer(“A”);
StringBuffer b = new StringBuffer(“B”);
operate(a, b);
System.out.println(a + “,” + b);
}
static void operate(StringBuffer x, StringBuffer y) {
x.append(y);
y = x;
}
输出:AB,B
(String类型的数据作为形参对实参不作任何的影响。
StringBuffer类型的数据作为形参会直接影响实参,append是给缓冲区追加字符,对应的缓冲区值也随之追加,调用所在缓冲区对象的话,其值是已经追加了的,X就是追加后在调用。
但是在有“=”的情况下,形参的改变是不会影响实参的改变,效果类同String。)
4:下面代码执行的结果是
6、下列代码的执行结果是:
String str1 = “This is a test!”;
StringBuffer str2 =new StringBuffer( “This is a test!”);
str1 = str1+”Hi”;
str2.append(“Hi”);
System.out.println(“str1 == ” + str1);
System.out.println(“str2 == ” + str2);
输出:
str1 == This is a test!Hi
str2 == This is a test!Hi
(String字符串,添加字符直接用+就可以
StringBuffer类字符串用append添加字符串)
> Stringbuffer其实是动态字符串数组
append()是往动态字符串数组添加,跟“xxxx”+“yyyy”相当那个‘+’号
跟String不同的是Stringbuffer是放一起的
String1+String2 和Stringbuffer1.append("yyyy")虽然打印效果一样,但在内存中表示却不一样
String1+String2 存在于不同的两个地址内存
Stringbuffer1.append(Stringbuffer2)放再一起
7:下面代码能最后打印的值是?
public class TestValue {
private static int a;
public static void main(String[] args) {
modify(a);
System.out.println(a);
}
public static void modify(int a) {
a++;
}
}
A)编译错误 B)null C)0 D)1
答:C a是私有类修饰的静态成员变量,只能在本类中被访问修改

浙公网安备 33010602011771号