0.回顾复习
- JDK环境变量 :path : jdk的安装目录的bin目录 编译命令 :把Java文件编译成.class文件 javac Xxx.java执行命令 : 执行程序功能 java Xxxx 执行的时候 不需要后缀
- Java的第一个入门程序
- 定义一个类 Java使用类 开发程序 定义类 使用一个关键词 class System.out.println() ; println() : 打印数据 并且换行 System.out.println() ; print() : 打印数据 不换行
- Java程序的执行过程
Java的注释java语言提供了三种注释的放肆 java注释不会参与java的编译,不会影响代码的功能 ,主要的作用方便程序员 看明白代码的意思在Java中 \n 代表换行\t : 代表八个bit 其实意思就是占据一定空间
- 单行 //输出一个数据 蜗牛学院;
System.out.println(“蜗牛学院”); 多行注释public class Student {
/
0.这是多行注释
1. 这是一个主方法
2. 此方法由虚拟机执行 是固定写法
3. 本方法有一个参数
/
public static void main(String[] ssss){//输出一个数据 蜗牛学院;
System.out.println(“蜗牛学院”);
System.out.println(“蜗牛学院”);
System.out.print(“AAAAAAAAAA”);
System.out.print(“BBBBBBBBBB”);
}
- 单行 //输出一个数据 蜗牛学院;
}
- 文档注释将来生成java API文档使用的/**
0.这是文档注释
1.这是一个学生类
2.操作学生的功能
/
public class Student {
/
1. 这是一个主方法
2. 此方法由虚拟机执行 是固定写法
3. 本方法有一个参数
*/
public static void main(String[] ssss){
//输出一个数据 蜗牛学院;<br /> System.out.println("蜗牛学院");<br /> System.out.println("蜗牛学院");<br /> System.out.print("AAAAAAAAAA");<br /> System.out.print("BBBBBBBBBB");<br /> }<br />}
课堂练习 :
创建一个Person类 ,输出打印 一个下面的模型 :
要求 :在类上加文档注释
main方法上 加多行注释
打印语句上加 单行注释
一.Java跨平台原理
一次编译,到处运行(windows、linux、unix、mac)
因为Java运行不依赖于平台(操作系统)
面试题:java语言为什么会跨平台
二. IDE(Eclipse)集成开发环境
Eclipse是一筐优秀Java开发工具,免费开源,免安装,直接解压缩就可以使用
使用Eclipse之前,必须安装JDK 。
因为Eclipse就是使用 Java语言开发 ,必须在Java的环境下才可以运行
Eclipse 设置 :
- 编码
- 创建项目点击 finish 就 OK
- 使用Eclispe创建一个Java类 调整文字大小 :windows—->preferences :
- 执行程序 在当前java文件中 右键 点击
三.标识符
1.标识符
任何一门编程语言,它的程序都是由一些特殊的符号组成,咱们就把这个符号称为:标识符
标识符:
案例 :2. 关键字
被Java征用的标识符,就叫关键字 (不需要程序员不能定义)
Java有50个关键字:
abstract | boolean | break | byte | case |
---|---|---|---|---|
catch | char | class | const | continue |
default | do | double | else | extends |
assert | final | finally | float | for |
goto | if | implements | import | instanceof |
int | interface | long | native | new |
strictfp | package | private | protected | public |
return | short | static | super | switch |
synchronized | this | throw | throws | transient |
try | void | volatile | while | enum |
const 与goto 都是C++遗留下来的关键字, 但是Java程序员从不用它。const被final替换了,goto跳转指针用的,所以不用! Java还有3个保留字 true false null
面试题:const 与 goto 是不是Java关键字?
答:是,但是我们不用
关键字不需要记忆 ,在IDE中,变颜色的就是关键字 ,不能使用
3. 自定义标识符
由程序员自己定义的符号
主要有 :包名,类名,方法名,变量名,参数名
- 标识符的命名规范(必须遵守):
- 标识符只能由字母,数字,_ ,以及$ 组成
- 标识符数字不能开头,而且严格区分大小写,但是长度不受限制
- 标识符一定不能是Java的关键字
- 开发时的规范大驼峰:首字母大写,单词和单词之间首字母大写 例如: 小驼峰:首字母小写,单词和单词之间首字母大写例如:
- 类名,方法名,变量名必须遵从“驼峰命名法”,类名遵从”大驼峰”,其它都是“小驼峰”
- 取名时,必须“见名知意”
- 常量的常量名必须全大写,单词之间使用_进行分割
参考阿里巴巴Java开发规范
- 执行程序 在当前java文件中 右键 点击 显示 :package explorerwindows—->Show View
- Eclispe的快捷键的使用Eclispe是一个集成开发工具,为了提高开发效率,提供很多快捷键的使用快捷键 不需要死记 经常使用,就记住了代码助手:Alt+/ // 代码提示 最常用
快速修正:Ctrl+1 //学习异常和接口的时候
显示搜索对话框:Ctrl+F //显示搜索框 搜索代码
打开资源:Ctrl+Shift+R // 搜索一个类 并且打开
打开类型:Ctrl+Shift+T //和上面类似
删除行:Ctrl+D //删除行
上下移动选中的行:Alt+Up/Down
//上一个/下一个光标的位置:Alt+Left/Right
//上一个/下一个成员(成员对象或成员函数):Ctrl+Shift+Up/Down
//选中闭合元素:Alt+Shift+Up/Down/Left/Right
//在当前行上插入一行:Ctrl+Shift+Enter
//在当前行下插入一行: Shift+Enter
- 包的作用
- 包的作用是管理类的
- 包的给项目分模块
- 在团队开发的时候 容易分配任务
包的定义 :
在我们类的第一行定义 :
package xxx.xxx.xxx ;
在使用eclipse等IDE 的时候,在创建累的时候 ,定义好 ,自动生成
包的定义时,都是用小写字母
包的定义,可以任意 ,但是一个开发规范:按照公司域名的反写 + 项目名
例如 :http://www.woniuxy.com/
定义包 :com.woniuxy.day02
https://www.baidu.com —-> com.baidu.crm
工程名 下面的包 :按照模块划分 :用户模块 、订单模块、客户模块、购物城模块、商品模块 等等
三.标识符
1.标识符
任何一门编程语言,它的程序都是由一些特殊的符号组成,咱们就把这个符号称为:标识符
标识符: 关键字 、自定义符号
案例 :
public class Test1 {
public static void main(String[] args) {
System.out.println(“AAAAAAAAAA”);
}
}
在上述代码中 ,除了 “AAAAAAAA” 不是标识符之外 其他的都是 标识符
关键字 :public 、class、static 、void
自定义 :Test1 、main 、String 、args 、System、out、println
2. 关键字
被Java征用的标识符,就叫关键字 (不需要程序员不能定义)
Java有50个关键字:
abstract | boolean | break | byte | case |
---|---|---|---|---|
catch | char | class | const | continue |
default | do | double | else | extends |
assert | final | finally | float | for |
goto | if | implements | import | instanceof |
int | interface | long | native | new |
strictfp | package | private | protected | public |
return | short | static | super | switch |
synchronized | this | throw | throws | transient |
try | void | volatile | while | enum |
const 与goto 都是C++遗留下来的关键字, 但是Java程序员从不用它。const被final替换了,goto跳转指针用的,所以不用! Java还有3个保留字 true false null
面试题:const 与 goto 是不是Java关键字?
答:不是,是java的保留字
关键字不需要记忆 ,在IDE中,变颜色的就是关键字 ,不能使用
3. 自定义标识符
由程序员自己定义的符号
主要有 :包名,类名,方法名,变量名,参数名
- 标识符的命名规范(必须遵守):
- 标识符只能由字母,数字,_ ,以及$ 组成
- 标识符数字不能开头,而且严格区分大小写,但是长度不受限制
- 标识符一定不能是Java的关键字
- 开发时的规范 (不遵守 ,程序不会报错 ,但是项目经理会让你重写)大驼峰:首字母大写,单词和单词之间首字母大写 例如: HelloWorld 、StudentManage 、UserRole 。。。小驼峰:首字母小写,单词和单词之间首字母大写
- 类名,方法名,变量名必须遵从“驼峰命名法”,类名遵从”大驼峰”,其它都是“小驼峰”如果标识符由多个单词组成
例如: printAge 、userName、passWord、studentName 。。。
- 取名时,必须“见名知意”根据类名 就知道 这个类是干嘛的 ,根据方法名 就知道这个方法时干嘛的 根据变量名 就知道变量是干嘛的public class User {
//String userName ;
String yonghuming ; //low
String passWord;
int age ;
String sex ;
Date birth;
double cautionMoney ; //保证金
} - 常量的常量名必须全大写,单词之间使用_进行分割定义好之后 不能被改变的数据 就叫常量 什么样的数据 适合于 定义成常量呢 ?在项目中 ,永远不会发生改变的数据 比如 :圆周率 、一年四季 等 final double MATH_PI = 3.14;
四、基本数据类型
1.二进制
计算机底层是以二进制进行计算 ,计算底层最小的容量单位是 :bit(比特) 计算机底层最小存储单位是 byte (字节)
一个bit (比特)就是一位 (二进制中的一位) 0 1 0 1 —>四位
一个字节是8个比特 (8位) : 0000 0000
1G = 1024M
1M = 1024K
1k = 1024byte
二进制 和 十进制 之间的换算 ?
0101 1001 ——— 十进制
十进制 —- >二进制 25
2. 数据类型
java是一种强数据类型语言 ,把不同的数据 表示成U币同的类型,在JVM中运行 。
在Java中把数据类型分为以下两大类 :
基本数据类型 在基本数据类型中,分为八种 三大类 (三类八种)
数字类型public static void main(String[] args) {
//定义一个商品的价格 :9.9
//int price = 9.9; //错误
float price1 = 9.9F ; //因为浮点数 默认是 double类型
double price2 = 9.9 ;
}- 整数 (根据表示的数据大小分为四类)整数类型默认的类型是 :int public static void main(String[] args) {
/
存储在内存 在内存中占据 空间
byte 在内存中占据 8 位 一个字节 0 0 0 0 0 0 0 0
既然byte 在内存占据 8位 就是说byte 有存储的上限
在内存存储的时候,最左边的一位是 符号位 0 :正数 1 负数
byte 最大的数据如何表示 0 1 1 1 1 1 1 1 = 127 (2的7次方 -1 )
byte 最小的数据如何表示 (补码) 1 0 0 0 0 0 0 0 = -128 (-2的7次方)
/
byte age = 18;
//byte a = 129; //赋给byte值的时候 不能超过byte表示的最大值
short s = 300;
int num = 100000;
long personNum = 14000000000L ;long myAge = 18; //把18这个数据 存储在 64位的空间中 ,没有任何问题 ,只是浪费空间
System.out.println(100); // 100 默认就是 int 类型
- 整数 (根据表示的数据大小分为四类)整数类型默认的类型是 :int public static void main(String[] args) {
}
- byte 1个字节 8位
- short 2个字节 16位
- int 4个字节 32位
- long 8个字节 64 位
- 小数(浮点数)默认类型是 double 类型
- float 4个字节 32位
- double 8个字节 64位
字符类型public static void main(String[] args) {
//使用单引号 定义char类型
char c1 = ‘a’;
char c2 = ‘0’;char c3 = ‘中’;
//char c4 = ‘中国’; // 错误 汉字 在内存占据两个字节 char就是两个字节 只能存储一个中文//char类型可以和 int类型 互换 不会产生错误
System.out.println(c1);
int x = c1;
System.out.println(x);int y = c2 ;
System.out.println(y);int z = c3 ;
System.out.println(z);
}char类型在定义的时候 使用 单引号 定义- char 2个字节 16位
- 布尔类型
- boolean 只有两个值 true false
- 引用类型(对象类型)
- 布尔值 :实际值 占一位 有的虚拟机 分配一个字节 ?
- boolean 只有两个值 true false
- 布尔类型
- boolean 只有两个值 true false
- 数据类型之间的转换byte、short、char、int 、long、float、double 这七种数据类型之间是如何转换的?数据转换分为两种类型 :
- boolean 只有两个值 true false
- 自动转换byte、short、char —->int —->long —->float —— double
- 强制转换 (不推荐使用)容易造成数据溢出 语法 : 数据类型 标识符 = (数据类型)值
short s1 = 100;
int m1 = 1000000000;
short s2 = (short)m1; // 可以转过去 风险 是可能数据溢出
System.out.println(s2); //数据溢出在数据超出 定义的数据类型表示的自大值 就会数据溢出
- 引用类型(对象类型) 除了基本类型以外的类型 ,都是引用类型String 就是引用类型 引用类型的定义和基本类型的定义都是一样的 类型 标识符 = 值 ;
String userName = “张三丰”;
引用类型和基本类型的区别?
在内存中存储的位置不一样 ,存储的方式也不一样
五、变量
1.字面量 (字面量常量)
public static void main(String[] args) {
System.out.println(200);
System.out.println(true);
System.out.println(“张三丰”);
System.out.println('中');
System.out.println(3.14);<br /> //以上我打印的数据 都是 字面量 他们有一个共同的特点 没有标识符<br />}
2.变量
变量:顾名思义,在一定范围内(数据类型能表示的范围),可以发生变化的量
变量的定义 :
//数据类型 标识符 = 值 ;
public static void main(String[] args) {
int a = 100 ;
System.out.println(a);
a = 200;<br /> System.out.println(a);
a = 300;<br /> System.out.println(a);
String name = "张三丰";<br /> System.out.println(name);
name = "张无忌" ;<br /> System.out.println(name);
//以上定义的 a 、name 是可以随意改变值 就叫变量<br /> //变量 在使用时 使用变量名称 操作变量值<br />}<br />变量的使用 :<br />为什么使用变量 ?<br />变量的目的是存储数据 ,供后期使用、维护
六、Scanner的应用
Scanner是JSK提供一个类,主要是从控制台 接收数据:
public static void main(String[] args) {
//创建出来一个Scanner对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名:");<br /> //接收用户名: next() 接收的是 字符串 String<br /> String name = sc.next();
System.out.println("请输入密码:");<br /> //接收密码<br /> String pass = sc.next();
System.out.println("请输入年龄:");<br /> int age = sc.nextInt(); //nextInt() 接收int类型的数据
System.out.println(name +"==="+pass+"==="+age);<br />}