java学习过程小问题
一:基本的需要注意点(基础语句);
package my;
public class hello {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 1.
String name = "chen";
System.out.println(name);
// 2.
boolean a = 1 > 2;
System.out.println(a);
boolean b = false;
boolean c = true;
// 3.
final int d = 1;
// b=2; 错误的 相当于c++中的const
// 4 类型装换
double e = 11.3;
int f = (int) e;
System.out.println(f);
// 隐式转换和显示转换
// 5.语句
// 在函数内以分号结束的一行,称为语句statement,注意是在函数中
// 6.数组的应用
// 创建一个数组对象,容纳20个int
int[] arr = new int[20];
arr[0] = 1;
arr[1] = 2;
// 输出长度为20
System.out.println(arr.length);
char ch = 'a';
System.out.println(ch);
char[] chh = new char[10];
chh[0] = 'a';
System.out.println(chh);
}
}
二:在java中初识对象与引用
1. 疑问:
① int[] a = { 11, 11, 11, 11 };
② int[] b = a;
③ b[3] = 45;
④ for(int i=0; i<a.length; i++)
{
⑤ System.out.print( a[i] + " ");
}
其中,
第①行,创建了一个数组对象a,
第②行,又定义了另一个b 对象,
第③行,修改了b[3]。这里修改的是b,那么a 的值不变是吗?
第⑤行,实际输出的是11 11 11 45,说明对b 的修改会同时影响a
的内容。为什么呢?
因为:
在Java 语言里,对象(Object)是一个基础概念。
int[] a = new int[4];
在此式中,等号右侧创建了一个数组对象,等号左侧的变量a 称为该
对象的引用( Reference)。
一般来说,可以以称作“变量a 指向了一个对象”,或者简称为“a
是一个对象, 其中a 是对象的名字”
多个变量可以指向同一个对象,例如,
int[] a = new int[4];
int[] b = a;
b[3] = 45;
由于a,b 指向的是一个对象,所以修改b[3],就等同于修改a[3]。
这就好比,“小明”指的是人,“陈明”指的也是人。一个
人可以有多个名字。
2.空指针null
在Java 语言里,有一种特殊的对象,称为“空对象”。例如,
int[] a = null;
其中,a 指向一个空对象,其实就是说a 不指向任何对象。
理解以下几行代码:
① int[] a = new int[4];
② int[] b = a;
③ a = null;
其中,
第①行,创建了一个对象,命名为a
第②行,b 和a 指向同一个对象第
第③行,a 指向null。此时,a 不指向任何对象,而b 指向刚才创建
的对象。
注意:a不能再当成数组用,要不然就是空指针错误
3.失去引用对象
观察以下代码:
① int[] a = { 8, 8, 8 };
② a = new int[4];
③ a[0] = a[1] = a[2] = a[3] = 17;
第①行,创建了一个数组对象,内容为{ 8,8,8}
第②行,创建另一个数组对象, 内容{ 0,0,0,0 }
问题来了,当执行完第②后,曾经创建的第一个对象就没有任何变量
引用它了,称为“失去引用”的对象。
注意:第一个对象系统会自动回收销毁这个对象,此过程称为垃圾加收
java学习过程小问题的更多相关文章
- Java学习过程中的总结的小知识点(长期更新)
Java学习过程中的总结的小知识点 (主要是自己不会的知识和容易搞错的东西) 计算某个程序运行的时间 long stime=System.currentTimeMillis(); copy3(file ...
- Java开发小技巧(三):Maven多工程依赖项目
前言 本篇文章基于Java开发小技巧(二):自定义Maven依赖中创建的父工程project-monitor实现,运用我们自定义的依赖包进行多工程依赖项目的开发. 下面以多可执行Jar包项目的开发为例 ...
- 微信机器人 返现机器人 pc版本 移动版本 java开发 小范省钱
微信机器人 返现机器人 pc版本 移动版本 java开发 小范省钱 微信搜索微信号 fanli-x 或 扫描下方二维码,可查看效果. 非web版微信,pc/移动版微信 支持新号24小时 不封号! 有任 ...
- java的小程序在html中的运行测试
java的小程序在html中的运行测试,打开vs2012,以网站模式打开,生成,调用iis临时服务器运行.
- java 编写小工具 尝试 学习(七)
1.在java 编写小工具 尝试 学习(六)里学会了,控件 的随意摆放, 以及大小(x,y,width,height),又根据前面学习的按钮 被点击 的事件监控 的方法 ,点击 按钮 在显示区域显示“ ...
- 第一个java的小东西
第一次自己写的一个java的小东西,毕竟自己第一次写的,其中可谓是历经艰难,最后总结下来就是java实在是不适合写界面化的东西代码量比较大,这还不是最关键的,最关键的是控件的位置实在是太难控制了. 这 ...
- Java太阳系小游戏分析和源代码
Java太阳系小游戏分析和源代码 -20150809 近期看了面向对象的一些知识.然后跟着老师的解说做了一个太阳系各行星绕太阳转的小游戏,来练习巩固一下近期学的知识: 用到知识点:类的继承.方法的重载 ...
- 福利贴——爬取美女图片的Java爬虫小程序代码
自己做的一个Java爬虫小程序 废话不多说.先上图. 目录命名是用标签缩写,假设大家看得不顺眼能够等完成下载后手动改一下,比方像有强迫症的我一样... 这是挂了一个晚上下载的总大小,只是还有非常多由于 ...
- Java五子棋小游戏(控制台纯Ai算法)
Java五子棋小游戏(控制台纯Ai算法) 继续之前的那个五子棋程序 修复了一些已知的小Bug 这里是之前的五子棋程序 原文链接 修复了一些算法缺陷 本次增加了AI算法 可以人机对战 也可以Ai对Ai看 ...
随机推荐
- Jquery知识点总结(一)
JQuery遍历1 传统的for 2 通过each对象调用callback函数 callback回调函数 /* * JQ提供的技术,实现遍历 * JQ对象函数调用 each(参数 ca ...
- React--- react 初见React 总结
简介 react 程序代码是透明的,需要什么装什么 代码实现逻辑清晰可见 第一天 React 基础构造 分别是 继承的 React.component(继承的依赖类)/dom(dom元素)/pro ...
- ubuntu包管理机制
1 ubuntu包管理机制 跟大家分享一下ubuntu的软件管理机制.如果你们有过: apt-get install 或者 apt-get update 失败的经历. 在众多的apt命令中迷失. 疑惑 ...
- (Nagios)-check_hpasm[HP]
Nagios Check_hp HP 2014年11月18日 下午 08:49 https://IP:2381 [root@nagios ~]# tar zxvf check_hp_blad ...
- XSS攻击 && CSRF攻击 基础理解
一个网站,不管多么的帅气,多么的风骚,如果你不安全,那始终都是一个弟弟啊~ 今天又看了下XSS和CSRF攻击的文章,我也想发点什么普及下大家的安全意识,毕竟作为一名拥有伟大梦想的程序员,基本的安全意识 ...
- WEB中需求分析应该考虑的问题
一. 针对用户群体要考虑因素 1.用户年龄 2.选择素材 3.网站布局 4.颜色搭配 5. 用户体验及动效 6.功能便捷 用户需求.用户兴趣爱好.性格.职业.教育水平高低.消费观念.PC端和移动端哪一 ...
- mongodb数据的导出和导入
mongo导出表说明: root@827995de7c7f:/# mongoexport --help Usage: mongoexport <options> Export data f ...
- 初识Pentaho(一)
学习一门语言或工具,首先得知道该工具的用途是什么.Pentaho 的官方定义是一个集数据集成和数据分析于一体的平台.这样的解释还是有点模糊.还是看其有哪些特点吧: ☐可以进行数据集成.谈到数据集成这 ...
- Python学习笔记六:集合
集合 Set,去重,关系测试:交.并.差等:无序 list_1=set(list_1), type(list_1) list_2=set([xxxxx]) 交集:list_1.intersectin( ...
- Grep/find查找文件
1. 查找secret 函数所在的文件位置grep -rn secret * grep -rn "secret" * 2. find 查找当前目录下,比while2 时间新并且名字 ...