正文
java最牛逼的两行代码 java输入两行数
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
解释两行代码,java,详细一点,谢谢
第一行, scanner对象是java API的一个接收控制台输入的对象,我们可以用这个类来回去字符串 数字 字符等 具体类型是根据调用的是next() or nextInt()等方法来决定返回的数据类型 , 此处返回的字符串数据. String str我想大家都很清楚是申明一个字符串str变量 并给它赋值,这里的值是从控制台输入得到的.
第二行 从最外面来看 就是一个系统的控制台输出.而输出的内容在这里是true 或者false;
对于里面的表达式, str.matches, 实际上就是调用了字符串对象string里面的内置方法matches,这个方法是一个匹配查询判断, 而里面的参数则是需要匹配的格式定义, 这里用的是一种叫正则表达式,表示的是一个以上的数字或者(0个或多个数字加上.符号一个以上的数字)或者是(1个或多个数字加上.符号0个以上的数字)等,只要符合都会返回true 否则是false; 总之里面的表达式是来验证字符串的格式的,至于正则表达式如何表达这个需要你自己去找相关资料学习了,毕竟这是一门技术,不是一两句话能说清楚的.
好了, 我想够清楚了, 如果不明的 可以继续问, 如果某些专业名称不明白, 或许你可以百度查找相关定义,.
一段有意思的java代码请大家解释~
首先0x7FFFFFFF就是Java里面整形变量的最大值了,你可以看看Integer.MAX_VALUE,"0x7FFFFFFF
*
2.0"是,Java会把结果当做double型,因为double型的数值范围比int大,所以得到的是数学上正确的结果,然后强制转换我int就是Integer.MAX_VALUE了,第一个表达式为true;第二个里面"0x7FFFFFFF
*
2"会被认为是int型,因为0x7FFFFFFF和2都是合法的int,所以就是发生数值的溢出(int)(0x7FFFFFFF
*
2)就被算成-2了,你如果把第二个的结果显式制定为double型,得到的结果也是true:
double
d
=
0x7FFFFFFFL
*
2;//加L指定为long型
System.out.println((int)(0x7FFFFFFF
*
2.0)
==
(int)
d);
第三个因为数值比较小,所以是true。
java线程的经典代码
package threadgroup;
class ThreadDemo3 extends Thread {
private String name;
private int delay;
public ThreadDemo3(String sname, int i_delay) {
name = sname;
delay = i_delay;
}
public void run() {
try {
sleep(delay);
} catch (InterruptedException e) {
}
System.out.println("多线程测试!\n" + name + "\n" + delay);
}
}
public class testMyThread {
public static void main(String[] args) {
ThreadDemo3 th1,th2,th3;
th1 = new ThreadDemo3("线程1", (int) (Math.random() * 900));
th2 = new ThreadDemo3("线程2", (int) (Math.random() * 900));
th3 = new ThreadDemo3("线程3", (int) (Math.random() * 900));
th1.start();
th2.start();
th3.start();
}
}
package threadgroup;
public class threadDemo {
public static void main(String[] args) {
Thread t = Thread.currentThread();
t.setName("你好吗?");
System.out.println("正在进行的Thread是:" + t);
try {
for (int i = 0; i 5; i++) {
System.out.println("我不叫穆继超" + i);
Thread.sleep(3000);
}
} catch (Exception e) {
// TODO: handle exception
System.out.println("Thread has wrong" + e.getMessage());
}
}
}
package threadgroup;
public class threadDemo2 implements Runnable {
public threadDemo2() {
Thread t1 = Thread.currentThread();
t1.setName("第一个主进程");
System.out.println("正在运行" + t1);
Thread t2 = new Thread(this, "");
System.out.println("在创建一个进程");
t2.start();
try {
System.out.println("使他进入第一个睡眠状态");
Thread.sleep(2000);
} catch (InterruptedException e) {
System.out.println("Thread has wrong" + e.getMessage());
}
System.out.println("退出第一个进程");
}
public void run() {
try {
for (int i = 0; i 5; i++) {
System.out.println("进程" + i);
Thread.sleep(3000);
}
} catch (InterruptedException e) {
// TODO: handle exception
System.out.println("Thread has wrong" + e.getMessage());
}
System.out.println("退出第二个进程");
}
public static void main(String[] args) {
new threadDemo2();
}
}
谁能帮我解释一下java中的这两行代码的意思:
//定义一个CircleWithAccessors数组,用来装CircleWithAccessors类型的对象
CircleWithAccessors[] circleArray;
//这句的作用就是通过createCircleArray这个方法
//将这个树组装入元素(依次数组每个元素初始化,也可能给了一定的值)
circleArray=createCircleArray();
但是这个写法好像有问题哦,createCircleArray()你静态方法,如果你不是在静态方法中调用这个方法,是要出问题的。
java最牛逼的两行代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java输入两行数、java最牛逼的两行代码的信息别忘了在本站进行查找喔。