JAVA基础之二
上一篇 / 下一篇 2013-10-10 21:27:33 / 个人分类:JavaSE
复习:
Java的版本:
JavaSE 标准版 Java应用程序 五子棋 计算器
C/S管理系统
JavaEE 企业版 Java企业级应用 B/S
JavaME 微型版 逐步被Android取代
Java术语:
JDK Java开发工具包 JDK6.0 for Windows 32bit
JRE Java运行环境
JVM Java虚拟机
GC Java内存垃圾收集机制 lazy 懒惰 影响性能
API 应用编程接口
JDK提供的类库:
java.lang.String类 字符串类
java.lang.System类 系统类
IDE 集成开发环境 MyEclipse8.5
Java程序开发步骤:
1、下载并安装JDK6
2、配置环境变量
JAVA_HOME JDK的安装路径 供第三方的软件使用
PATH 命令的搜索路径
能在任何目录下使用javac java
CLASSPATH 类的搜索路径 . JVM能在当前目录下找类
3、编辑 Java源程序 Hello.java
4、编译 javac Hello.java -> Hello.class 字节码文件
5、运行 java Hello
Java注释:
1)单行注释 //
2)多行注释 /* */
3)文档注释 /** */
人/月 描述项目的规模
30人/月
1人 30月
30人 1月
5人 6月
每个人每天写10个类 每个月20天 6个月
一共开发了多少个类class文件
5*10*20*6 = 6000个类
一、Java 包 package
包,类似于平时的目录
可以让我们的.class文件 类 分门别类存放
关键字:package
语法:在Java源文件的第一行有效代码定义包
package 包名;
比如:package day01;
包名的规范:公司域名.项目名.模块名.子模块名
package com.tarena.javase.day01;
表示达内公司 javase课程 的 第一天的代码
Hello.class文件的位置:
com\tarena\javase\day01\Hello.class
包的优点:
1) 能够分门别类存储类
2) 保证一个类的全球唯一性
类的全名:包名.类名
com.tarena.javase.day01.Hello
package day01;
public class Hello{ //类全名:day01.Hello
}
IBM公司,开发员工管理系统ems 一个员工类:
package com.ibm.ems.entity;
public class Emp{
}
www.bypp.com cms Duck
package com.bypp.cms.entity;
public class Duck{
}
编辑时:如果给程序加了包:
package day01;
编译时:
javac -d . Hello.java
-d选项有两层含义:
1)能指定编译后存放位置 . 代表存放当前目录下
day01\Hello.class文件 位于当前目录下
2)只要起了包名,能够自动将class文件存于相应的目录层次中。day01\Hello.class
运行时:必须明确指定包名.类名
java day01.Hello
如果包名 package com.tarena.javase.day01;
编译方式不变,运行时:
java com.tarena.javase.day01.Hello
使用MyEclipse8.5 开发Java程序
打开后,可以选择工作区 D:\Workspaces
表示以后项目、源代码等资源的路径
1.创建Java项目 (Java Project) Java工程
File -> New -> Java Project
Project name: javase
填完项目名称后 Finish 完成
2.在javase工程的src目录下创建Java程序
右击src -> New -> Class
起包名 Package: day01
起类名 Name: MyInfo
Finish 完成
3.改变编辑环境
修改字体
Window -> Preferences -> General -> Appearance
-> Colors and Fonts
Basic -> Text Font 双击 编辑
字体:Courier New 或 Comic Sans MS
字形:粗体 Bold
大小:14或16
显示行号:行首灰色条部分 右击
Show Line Numbers
编译代码后,只需保存就可编译.
ctrl + s 保存即编译
如果编译不通过,会在相应的代码行出现红色下划线
此时,可以查看编译的错误提示:
鼠标指针移到行首的红色叉子 就会提示错误消息
根据错误的消息进行修改。
string cannot be resolved to a type
系统不认识string这种类型 改为String
Syntax error, insert ";" to complete BlockStatements
语法 错误 插入 ; 结束一行代码
如果编译后没有红色的提示,表示编译通过。
如何运行?
在代码的任何位置 右击 -> Run As -> Java Application
需求:从控制台提示并输入两个值:名字 和 年龄
程序中使用name和age变量来接收保存
最后再打印输出以上两个变量的值。
可以使用java.util.Scanner类 (JDK中的API)
工具包
扫描器类,可以从控制台接收数据
首先需要创建扫描器类的对象sc:
Scanner sc = new Scanner(System.in);
System.out 系统标准输出流 控制台
System.in 系统标准输入流 显示器 控制台
打印并提示用户输入数据。(友好的交互行为)
next和nextInt方法都是阻塞方法
一定执行此处,会等待着用户的输入,直到用户输入数据并且敲回车后,才接收数据,并继续往下执行
String name = sc.next(); 接收String类型
int age = sc.nextInt(); 接收int类型
最后可以输出name 和 age变量值
包名:day02
类名:TestScanner
Multiple markers at this line
- Scanner cannot be resolved to a type
- Scanner cannot be resolved to a type
二、标识符 identifier
能够作为包名、类名、变量名、方法名等
只要是JDK中或自己起的名字,都属于标识符
day01 day02 HelloWorld String name main
1、标识符的规则 5条 必须遵守 否则编译无法通过
(1)由字母(大写、小写)、数字、下划线_、$组成
但首字母不能是数字
合法的:abc123 _abc $123 Hello123
不合法:1abc @123
(2)不能是Java关键字 50个 + 3个字面值
关键字:class int static public ...
全部小写
字面值:true 真 false 假 null 空
(3)区分大小写 (大小写敏感 Case Sensitive)
合法的:Int Hello hello
不合法:int
(4)长度没有限制
ArrayIndexOutOfBoundsException
数组下标越界异常
MyFirstJava
(5)支持中文,但不推荐使用 (避免中文编码问题)
int 年龄 = 23; 不推荐
int age = 23; 推荐
2、标识符的规范 5条 业内习惯 建议遵守
(1)类名、接口名每个单词首字母大写
HelloWorld MyFirstJava TestScanner
String System Scanner
(2)变量名、方法名第一个单词首字母小写,之后的每一个单词首字母大写
String myFirstName = "Tom";
int myAge = 21;
public void playGame()
public int nextInt()
(3)包名全部小写,包之间使用 . 分隔
package com.tarena.javase.day01;
package java.lang;
package java.util;
(4)常量全部大写,单词间使用下划线分隔
public static final int MAX_AGE = 180;
public static final double PI = 3.1415926535897932;
(5)见名知意
name age myHobby
n1 a1 m1
三、Java关键字 keywords JDK5.0以后 50个
参考keywords.txt ,具体内容后续逐步讲解
共同特点:全部小写
其中有两个保留字:goto const
附加记忆三个字面值:true false null
四、Java数据类型 (重点)
1、在现实生活中如何表示数?
0 1 2 3 ..9 10 11 ...19 20 .. 100 ... 1000
十进制数 一而十 十而百 百而千 1+999 = 1千
逢十进一
2、在计算机中如何表示数?
二进制数 逢二进一
计算机只认识两个状态:0 和 1
使用4位二进制数表示:2^4=16种数据 0~15
0~ 2^4-1
权
8421
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 10
1011 11
1100 12 = 8+ 4 1100
1101 13
1110 14
1111 15
2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128
2^8 = 256
2^9 = 512
2^10 = 1024 约等于1K 千
2^11 = 2048
2^12 = 4096
...
2^15 = 32768
2^16 = 65536
使用8位二进制数表示:2^8=256种数据 0~255
0~ 2^8-1
权:
128 64 32 16 8 4 2 1
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
...
0001 0000 16
...
0100 1100 76 = 64 + 8 + 4
...
1001 1101 157 = 128 + 16 + 8 + 4 + 1
...
1111 1110 254
1111 1111 255
3、Java中如何表示数?
使用二进制数的补码形式
分为正数和负数:
使用最高位(最左边)作为符号位:0表示正数 1表示负数
正数的补码:原码
负数的补码:正数的原码,按位取反+1
四位二进制数补码:2^4=16种 -8~7 -2^3~2^3-1
0111 7
0110 6
0101 5
0100 4
0011 3
0010 2
0001 1
0000 0
1111 -1
1110 -2
1101 -3
1100 -4
1011 -5
1010 -6
1001 -7
1000 -8
0001
1111 +
--------
0000 0
四位二进制数补码:2^8=256种 -128~127 -2^7~2^7-1
0111 1111 127
...
0000 0010 2
0000 0001 1
0000 0000 0
1111 1111 -1
1111 1110 -2
...
1000 0000 -128
翻译:-5的二进制数补码
Java的版本:
JavaSE 标准版 Java应用程序 五子棋 计算器
C/S管理系统
JavaEE 企业版 Java企业级应用 B/S
JavaME 微型版 逐步被Android取代
Java术语:
JDK Java开发工具包 JDK6.0 for Windows 32bit
JRE Java运行环境
JVM Java虚拟机
GC Java内存垃圾收集机制 lazy 懒惰 影响性能
API 应用编程接口
JDK提供的类库:
java.lang.String类 字符串类
java.lang.System类 系统类
IDE 集成开发环境 MyEclipse8.5
Java程序开发步骤:
1、下载并安装JDK6
2、配置环境变量
JAVA_HOME JDK的安装路径 供第三方的软件使用
PATH 命令的搜索路径
能在任何目录下使用javac java
CLASSPATH 类的搜索路径 . JVM能在当前目录下找类
3、编辑 Java源程序 Hello.java
4、编译 javac Hello.java -> Hello.class 字节码文件
5、运行 java Hello
Java注释:
1)单行注释 //
2)多行注释 /* */
3)文档注释 /** */
人/月 描述项目的规模
30人/月
1人 30月
30人 1月
5人 6月
每个人每天写10个类 每个月20天 6个月
一共开发了多少个类class文件
5*10*20*6 = 6000个类
一、Java 包 package
包,类似于平时的目录
可以让我们的.class文件 类 分门别类存放
关键字:package
语法:在Java源文件的第一行有效代码定义包
package 包名;
比如:package day01;
包名的规范:公司域名.项目名.模块名.子模块名
package com.tarena.javase.day01;
表示达内公司 javase课程 的 第一天的代码
Hello.class文件的位置:
com\tarena\javase\day01\Hello.class
包的优点:
1) 能够分门别类存储类
2) 保证一个类的全球唯一性
类的全名:包名.类名
com.tarena.javase.day01.Hello
package day01;
public class Hello{ //类全名:day01.Hello
}
IBM公司,开发员工管理系统ems 一个员工类:
package com.ibm.ems.entity;
public class Emp{
}
www.bypp.com cms Duck
package com.bypp.cms.entity;
public class Duck{
}
编辑时:如果给程序加了包:
package day01;
编译时:
javac -d . Hello.java
-d选项有两层含义:
1)能指定编译后存放位置 . 代表存放当前目录下
day01\Hello.class文件 位于当前目录下
2)只要起了包名,能够自动将class文件存于相应的目录层次中。day01\Hello.class
运行时:必须明确指定包名.类名
java day01.Hello
如果包名 package com.tarena.javase.day01;
编译方式不变,运行时:
java com.tarena.javase.day01.Hello
使用MyEclipse8.5 开发Java程序
打开后,可以选择工作区 D:\Workspaces
表示以后项目、源代码等资源的路径
1.创建Java项目 (Java Project) Java工程
File -> New -> Java Project
Project name: javase
填完项目名称后 Finish 完成
2.在javase工程的src目录下创建Java程序
右击src -> New -> Class
起包名 Package: day01
起类名 Name: MyInfo
Finish 完成
3.改变编辑环境
修改字体
Window -> Preferences -> General -> Appearance
-> Colors and Fonts
Basic -> Text Font 双击 编辑
字体:Courier New 或 Comic Sans MS
字形:粗体 Bold
大小:14或16
显示行号:行首灰色条部分 右击
Show Line Numbers
编译代码后,只需保存就可编译.
ctrl + s 保存即编译
如果编译不通过,会在相应的代码行出现红色下划线
此时,可以查看编译的错误提示:
鼠标指针移到行首的红色叉子 就会提示错误消息
根据错误的消息进行修改。
string cannot be resolved to a type
系统不认识string这种类型 改为String
Syntax error, insert ";" to complete BlockStatements
语法 错误 插入 ; 结束一行代码
如果编译后没有红色的提示,表示编译通过。
如何运行?
在代码的任何位置 右击 -> Run As -> Java Application
需求:从控制台提示并输入两个值:名字 和 年龄
程序中使用name和age变量来接收保存
最后再打印输出以上两个变量的值。
可以使用java.util.Scanner类 (JDK中的API)
工具包
扫描器类,可以从控制台接收数据
首先需要创建扫描器类的对象sc:
Scanner sc = new Scanner(System.in);
System.out 系统标准输出流 控制台
System.in 系统标准输入流 显示器 控制台
打印并提示用户输入数据。(友好的交互行为)
next和nextInt方法都是阻塞方法
一定执行此处,会等待着用户的输入,直到用户输入数据并且敲回车后,才接收数据,并继续往下执行
String name = sc.next(); 接收String类型
int age = sc.nextInt(); 接收int类型
最后可以输出name 和 age变量值
包名:day02
类名:TestScanner
Multiple markers at this line
- Scanner cannot be resolved to a type
- Scanner cannot be resolved to a type
二、标识符 identifier
能够作为包名、类名、变量名、方法名等
只要是JDK中或自己起的名字,都属于标识符
day01 day02 HelloWorld String name main
1、标识符的规则 5条 必须遵守 否则编译无法通过
(1)由字母(大写、小写)、数字、下划线_、$组成
但首字母不能是数字
合法的:abc123 _abc $123 Hello123
不合法:1abc @123
(2)不能是Java关键字 50个 + 3个字面值
关键字:class int static public ...
全部小写
字面值:true 真 false 假 null 空
(3)区分大小写 (大小写敏感 Case Sensitive)
合法的:Int Hello hello
不合法:int
(4)长度没有限制
ArrayIndexOutOfBoundsException
数组下标越界异常
MyFirstJava
(5)支持中文,但不推荐使用 (避免中文编码问题)
int 年龄 = 23; 不推荐
int age = 23; 推荐
2、标识符的规范 5条 业内习惯 建议遵守
(1)类名、接口名每个单词首字母大写
HelloWorld MyFirstJava TestScanner
String System Scanner
(2)变量名、方法名第一个单词首字母小写,之后的每一个单词首字母大写
String myFirstName = "Tom";
int myAge = 21;
public void playGame()
public int nextInt()
(3)包名全部小写,包之间使用 . 分隔
package com.tarena.javase.day01;
package java.lang;
package java.util;
(4)常量全部大写,单词间使用下划线分隔
public static final int MAX_AGE = 180;
public static final double PI = 3.1415926535897932;
(5)见名知意
name age myHobby
n1 a1 m1
三、Java关键字 keywords JDK5.0以后 50个
参考keywords.txt ,具体内容后续逐步讲解
共同特点:全部小写
其中有两个保留字:goto const
附加记忆三个字面值:true false null
四、Java数据类型 (重点)
1、在现实生活中如何表示数?
0 1 2 3 ..9 10 11 ...19 20 .. 100 ... 1000
十进制数 一而十 十而百 百而千 1+999 = 1千
逢十进一
2、在计算机中如何表示数?
二进制数 逢二进一
计算机只认识两个状态:0 和 1
使用4位二进制数表示:2^4=16种数据 0~15
0~ 2^4-1
权
8421
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 10
1011 11
1100 12 = 8+ 4 1100
1101 13
1110 14
1111 15
2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128
2^8 = 256
2^9 = 512
2^10 = 1024 约等于1K 千
2^11 = 2048
2^12 = 4096
...
2^15 = 32768
2^16 = 65536
使用8位二进制数表示:2^8=256种数据 0~255
0~ 2^8-1
权:
128 64 32 16 8 4 2 1
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
...
0001 0000 16
...
0100 1100 76 = 64 + 8 + 4
...
1001 1101 157 = 128 + 16 + 8 + 4 + 1
...
1111 1110 254
1111 1111 255
3、Java中如何表示数?
使用二进制数的补码形式
分为正数和负数:
使用最高位(最左边)作为符号位:0表示正数 1表示负数
正数的补码:原码
负数的补码:正数的原码,按位取反+1
四位二进制数补码:2^4=16种 -8~7 -2^3~2^3-1
0111 7
0110 6
0101 5
0100 4
0011 3
0010 2
0001 1
0000 0
1111 -1
1110 -2
1101 -3
1100 -4
1011 -5
1010 -6
1001 -7
1000 -8
0001
1111 +
--------
0000 0
四位二进制数补码:2^8=256种 -128~127 -2^7~2^7-1
0111 1111 127
...
0000 0010 2
0000 0001 1
0000 0000 0
1111 1111 -1
1111 1110 -2
...
1000 0000 -128
翻译:-5的二进制数补码
TAG: