Java运算符号,对象赋值,别名
生活发生的一切,才会促使着我继续前行,今天继续更新哦,看书中的代码练习。
例子1 引入net.mindview.util.Print.* ,方便打印结果。
package com.date0529;
import java.util.Date;
//需要引入类库,并且配置ClassPath环境变量中添加该代码目录树的根目录
import static net.mindview.util.Print.*;
public class Test_0529_Demo01 {
public static void main(String[] args) {
print("Hello. it's: ");
print(new Date());
}
}
例子2 运算符号的优先级
public class Test_0529_Demo02 {
public static void main(String[] args){
int x=1,y=2,z=3;
int a=x+y-2/2+z;//(1)
int b=x+(y-2)/(2+z);//(2)
System.out.println("a="+a+" b="+b);
}
}
运算结果如下:
例子3 对象的赋值 t1赋值,之前的t1对对象的引用已经被垃圾回收清除掉,现在t1,t2指向的是相同的对象。如果要保留t1,t2独立,可以t1.level = t2.level 这样赋值
public class Test_0529_Demo03 {
public static void main(String[] args){
Tank t1 = new Tank();
Tank t2 = new Tank();
t1.level = 9;
t2.level = 51;
System.out.println("1: t1.level "+t1.level+" t2.level "+t2.level );
t1 = t2;
System.out.println("2: t1.level "+t1.level+" t2.level "+t2.level );
t1.level = 23;
System.out.println("3: t1.level "+t1.level+" t2.level "+t2.level );
t2.level = 100;
System.out.println("3: t1.level "+t1.level+" t2.level "+t2.level );
}
}
运算结果如下:
例子4 方法调用中的别名
package com.date0529;
class Letter{
char c;
}
public class Test_0529_Demo04 {
/**
* 方法调用的别名问题,这里f()方法实际上只是传递了一个引用
* @param y
*/
static void f(Letter y){
y.c = 'z';
}
public static void main(String[] args){
Letter x = new Letter();
x.c = 'a';
System.out.println("1: x.c: " +x.c );
f(x);
System.out.println("2: x.c: " +x.c );
}
}
运算结果如下:
例子5 算数操作符 自增和自减要好好理解下,自增在前则是先执行加同理在后后执行加
package com.date0529;
import java.util.Random;
/**
* 算数操作符
*/
public class Test_0529_Demo05 {
public static void main(String[] args){
//创造一个随机数
Random rand = new Random(47);
int i, j, k;
//选择一个1到100之间的数
j = rand.nextInt(100) + 1;
System.out.println("j: " + j);
k = rand.nextInt(100) + 1;
System.out.println("k: " + k);
i = j + k;
System.out.println("j+k: " + i);
i = j - k;
System.out.println("j-k: " + i);
i = j / k;
System.out.println("j/k: " + i);
i = j * k;
System.out.println("j*k: " + i);
i = j % k;
System.out.println("j%k: " + i);
j %= k;
System.out.println("j %= k: " + j);
float u, v, w;
v = rand.nextFloat();
System.out.println("v: " + v);
w = rand.nextFloat();
System.out.println("w: " + w);
u = rand.nextFloat();
System.out.println("u: " + u);
u = v + w;
System.out.println("v+w: " + u);
u = v - w;
System.out.println("v-w: " + u);
u = v / w;
System.out.println("v/w: " + u);
u = v * w;
System.out.println("v*w: "+ u);
u += v;
System.out.println("u +=: " + u);
u -= v;
System.out.println("u -=: " + u);
u *= v;
System.out.println("u *=: " + u);
u /= v;
System.out.println("u /=: " + u);
int m = 1;
System.out.println("m: " + m);
System.out.println("m++: "+ m++);
System.out.println("++m: " + ++m);
System.out.println("--m: " + --m);
System.out.println("m--: " + m--);
System.out.println("m: " + m);
}
}
运算结果如下:
最新文章
- 嵌入式的重要平台 .NET Micro Framework
- WebApi系列~实际项目中如何使用HttpClient向web api发异步Get和Post请求并且参数于具体实体类型
- JS识记
- CentOS6.4安装Smokeping节点监控软件
- PBS
- Java入门以及Java中的常量与变量总结
- Java_注解_01_注解(Annotation)详解
- zzuli 1812: sort 排序
- 一个疑问,int对象5为何没有__dict__属性,而类却有,这是怎么做到的?对象不是都可以调用类属性吗?
- Asp.Net Core 下 Newtonsoft.Json 转换字符串 null 替换成string.Empty
- Docker:Docker 性质及版本选择 [三]
- 借鉴Glide思想二次封装Fresco
- JavaScript对象访问器属性
- tls1.2 rfc5246
- mui---开发直播APP
- Chrome——F12 谷歌开发者工具详解
- JoyOI1940 创世纪
- Entity framework 6.0 简明教程 ef6
- delphi clientdataset判断某一行值是否存在
- (1)封装 (2)static关键字 (3)继承
热门文章
- 18.3 redis 的安装
- python基础学习Day17 面向对象的三大特性之继承、类与对象名称空间小试
- Anaconda安装及配合pycharm使用
- 2017面向对象程序设计(Java) 第1周学习指导及要求(2017.8.24-2017.8.27)
- pinyin4j 中文转拼音
- 【Scheme】元循环求值
- 设置input标签的placeholder的样式
- error LNK2019: 无法解析的外部符号 ";class std::basic_ostream<;char,struct std::char_traits<;char>; >;
- css3 vw、vh属性详解,以及与%、rem的区别介绍
- poj1256(贪心+并查集)