一、编写第一个Java程序-扩展
1.详解代码
公共的类叫做Hello
public class Hello{
公有的静态的无返回值的方法叫做main
这种固定的写法叫做主方法/入口方法/主函数/入口函数
含义:运行该类,系统就会执行主方法中的代码
public static void main(String[] args){
系统的打印语句("内容");
System.out.println("HelloWorld...111");
System.out.println("HelloWorld...222");
System.out.println("HelloWorld...333");
}
}
public - 公有的/公共的 class - 类 Hello - 类名
static - 静态的 void - 无返回值 main - 方法名
String - 字符串 ps:"用良心做教育,做真实的自己"
String[] - 字符串数组 ps: ["陈帅","何鹏","小西满里惠"]
args - 字符串数组的名字
2.代码细节
- public修饰的类名必须和文件名一致
- Java是一门大小写敏感的语言
- 括号都是成双成对的
- 方法里的代码都是从上往下执行-顺序执行
- 方法中的代码又叫做执行语句,执行语句用分好结束
二、Java编码规范
1.书写格式
使用tab键让代码更有层次感
类 > 方法 > 代码块
2.代码注释
意义:一个良好的程序员应该养成注释代码的好习惯
作用:解释代码,注释的作用范围只在编码阶段,编译后注释就不存在了
注释 | 描述 |
//… | 单行注释 |
/* … */ | 多行注释 |
/** … */ | 文档注释 |
三、path的作用
在path中配置了某个文件夹,代表在其他任何文件夹里都可以打开配置的文件夹中的文件
四、Java的跨平台特性 - 重要
五、Java体系的划分
JavaSE – J2SE – 基础版本
JavaEE – J2EE – 企业版本
JavaME – J2ME – 微型版本
六、Java的发展历史
前雇主:sun(Stanford University Network)—2009年74亿美金卖给Oracle公司
Java之父:詹姆斯·高斯林 (James Gosling)
版本变更
1995年5月23日,Java语言诞生;
1996年1月,第一个JDK-JDK1.0诞生;
1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术;
1996年9月,约8.3万个网页应用了JAVA技术来制作;
1997年2月18日,JDK1.1发布;
1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录;
1997年9月,JavaDeveloperConnection社区成员超过十万;
1998年2月,JDK1.1被下载超过2,000,000次;
1998年12月8日,JAVA2企业平台J2EE发布;
1999年6月,SUN公司发布Java的三个版本:标准版、企业版和微型版;
2000年5月8日,JDK1.3发布;
2000年5月29日,JDK1.4发布;
2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机;
2001年9月24日,J2EE1.3发布;
2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升;
2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本 的重要性,J2SE1.5更名为Java SE 5.0;
2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取 消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME;
2006年12月,SUN公司发布JRE6.0;
2009年4月7日Google App Engine开始支持Java;
2009年04月20日,甲骨文74亿美元收购Sun。取得Java的版权;
2010年11月,由于甲骨文对于Java社区的不友善,因此Apache扬言将退出JCP;
2011年7月28日,甲骨文发布Java 7.0的正式版;
2014年3月19日,甲骨文公司发布Java 8.0的正式版
七、什么是IDE
IDE:编码环境,编写代码所使用的工具
记事本 - notepad++ - eclipse - idea
八、编码问题
乱码问题:编码和解码使用的编码格式不一致
解决方案:两个端口设置一样的编码格式
ps:javac -encoding UTF-8 Hello.java
九、标识符
1.什么是标识符
标识符:给类、方法、变量、接口命名时使用到的字符序列
2.标识符的命名规范
组成部分:英文 or 中文 or 数字 or $ or _
注意事项:
- 不能以数字开头
- 不能使用除了$和_以外的特殊符号
- 区分大小写
- 不能使用Java的关键字
- 不要用中文
十、Java的关键字
含义:Java提前给我们定义好的,具有特殊意义的单词
经验:不用记,因为我们会学习每个关键字的意义所在
十一、变量
含义:在程序执行的过程中,其值会发生变。变量其实就是存储单个数据的容器
语法:数据类型 变量名 [= 值];
public class Test02{
public static void main(String[] args){
/**
变量:可变的量
语法:数据类型 变量名 [= 值];
写法1:
//声明一个int类型的变量age,并把18赋值给age
int age = 18;
//把19赋值给age
age = 19;
//打印变量age中的值
System.out.println(age);
写法2:
//声明一个int类型的变量age
int age;
//把18赋值给age
age = 18;
//打印变量age中的值
System.out.println(age);//18
//把20赋值给age
age = 20;
//打印变量age中的值
System.out.println(age);//20
总结:
1.在同一个作用域中,变量名不能重复
2.变量必须初始化后才能使用
*/
}
}
十二、数据类型的划分
含义:Java语言是强类型语言,对于每一种数据都定义了明确的数据类型,在内存中为每种数据类型分配了不同的内存空间
十三、变量使用的注意事项
- 变量要先初始化,才能使用
- 变量定义的作用域问题,同一个作用域变量名不能重名
十四、基本数据类型的转型
实际上指的是数值型的互相转换
数值类型取值范围:byte<short<int<long<float<double
- 自动转型:取值范围小 转 取值范围大
- 强制转型:取值范围大 转 取值范围小
- 特殊点
特殊点
案例一:
byte b1 = 1;//1是int类型的数字字面量,但是1在byte类型取值范围里,就直接赋值
byte b2 = 128;//128是int类型的数字字面量,但是128不在byte类型取值范围里,就必须强转
System.out.println(b1);
System.out.println(b2);
int i = 200;//0000,0000,0000,0000,0000,0000,1100,1000
byte b = (byte)i;//1100,1000
System.out.println(b);//-56
案例二:
int i = 12345678901;//整数的数字字面量为int类型,12345678901超出int类型的取值范围,所以报错
案例三:
long l1 = 12345678901;//整数的数字字面量为int类型,12345678901超出int类型的取值范围,所以报错
long l2 = 12345678901L;//整数的数字字面量为long类型,12345678901未超出long类型的取值范围,所以未报错
案例四:
float f1 = 1;//int(1) 转 float(f1)
//float f2 = 1.0;//double(1.0) 转 float(f2)
//float f2 = (float)1.0;//将double类型强转为float
float f2 = 1.0F;//直接将1.0认为是float类型,效率更高
System.out.println(f1);
System.out.println(f2);
扩展:数字字面量
含义:代码中出现的数字
数字 | 描述 |
整数 | 默认为int类型 |
小数 | 默认为double类型 |