Java程序设计—孙鑫java无难事教程Lesson1《java技术与应用》
来源:互联网 发布:临床医学生必备软件 编辑:程序博客网 时间:2024/06/06 02:10
Java程序设计—孙鑫java无难事教程Lesson1《java技术与应用》
1.Java语言特性
简单的、面向对象的、健壮的、安全的、解释的、与平台无关的、多线程的、动态语言的。
2.Java跨平台原理
原理介绍如下图所示:
图1:
图2:
3.java环境熟悉
(1)path环境变量
启动cmd.exe后,键入set path查看路径,如下:
C:\Users\juber>set path
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32
\WindowsPowerShell\v1.0\;C:\Program Files\Common Files\Thunder Network\KanKan\Co
decs;C:\Program Files\Common Files\Compuware;C:\Program Files\Java\jdk1.7.0_03\b
in
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
配置环境变量如下图所示:
(2)jar命令
a.打包文件
F:\java\JavaLesson\Lesson1>jar cvf Lesson1.jar Hello.class Welcome.class
//**********************************************
b.整个目录打包
F:\java\JavaLesson>jar cvf Lesson1.jar Lesson1/
已添加清单
正在添加: Lesson1/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: Lesson1/Hello.class(输入 = 416) (输出 = 286)(压缩了 31%)
正在添加: Lesson1/Hello.java(输入 = 169) (输出 = 127)(压缩了 24%)
...
(3)public类名和文件名相同
4.Java的8种数据类型
byte b;//1个字节有符号整数
short s;//2字节有符号整型
int i;//4字节有符号整型
long l;//8字节有符号整型
char c;//2字节无符号整型65535种字符 采用UNICODE编码
float f;//4字节浮点数
double d;//8字节浮点数
boolean bool=true;//两种值false和true
5.Java数据类型及语法熟悉
//**********************************************
//测试代码如下
//**********************************************
(1)缺少main函数
//**********************************************
错误: 在类 Hello 中找不到主方法, 请将主方法定义为:
public static void main(String[] args)
(2)设置了错误的类路径
//**********************************************
F:\java\JavaLesson\Lesson1>set classpath=e:\
F:\java\JavaLesson\Lesson1>java Hello
错误: 找不到或无法加载主类 Hello
(3)类型不匹配
//**********************************************
Hello.java:8: 错误: 可能损失精度
b=b*3;
^
需要: byte
找到: int
1 个错误
(4)精度不匹配
//**********************************************
Hello.java:19: 错误: 可能损失精度
f=1.3;
^
需要: float
找到: double
1 个错误
(5)布尔类型赋值不兼容
//**********************************************
Hello.java:24: 错误: 不兼容的类型
boolean bool=1;
^
需要: boolean
找到: int
1 个错误
(6)布尔表达式中类型不兼容
//**********************************************
if(1)
{
}
Hello.java:28: 错误: 不兼容的类型
if(1)
^
需要: boolean
找到: int
1 个错误
(7)数组定义错误1 int num[3];//定义形式不能类似c语言
//**********************************************
Hello.java:35: 错误: 需要']'
int num[3];//定义时不能分配空间
^
Hello.java:35: 错误: 非法的表达式开始
int num[3];//定义时不能分配空间
^
2 个错误
(8)数组定义错误2 加上定义列表时无需指定大小
Hello.java:39: 错误: 需要';'
int num2[]=new int[3]{1,2,3};//加上大小错误
^
1 个错误
(9)数组定义错误3 越界错误
//**********************************************
45
34
21
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at Hello.main(Hello.java:71)
(10)数组定义错误4 数组元素初始化错误
//**********************************************
Hello.java:79: 错误: 不兼容的类型
int[][] num6=new int[][]{1,2,3,4,5,6};//error
^
需要: int[]
找到: int
Hello.java:79: 错误: 不兼容的类型
int[][] num6=new int[][]{1,2,3,4,5,6};//error
^
...
(11)数组定义错误5 数组元素初始化错误 不能指定数组大小
//**********************************************
Hello.java:81: 错误: 需要';'
int[][] num6=new int[2][3]{{1,2,3},{4,5,6}};//error
^
Hello.java:81: 错误: 不是语句
int[][] num6=new int[2][3]{{1,2,3},{4,5,6}};//error
...
简单的、面向对象的、健壮的、安全的、解释的、与平台无关的、多线程的、动态语言的。
2.Java跨平台原理
原理介绍如下图所示:
图1:
图2:
3.java环境熟悉
(1)path环境变量
启动cmd.exe后,键入set path查看路径,如下:
C:\Users\juber>set path
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32
\WindowsPowerShell\v1.0\;C:\Program Files\Common Files\Thunder Network\KanKan\Co
decs;C:\Program Files\Common Files\Compuware;C:\Program Files\Java\jdk1.7.0_03\b
in
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
配置环境变量如下图所示:
(2)jar命令
a.打包文件
F:\java\JavaLesson\Lesson1>jar cvf Lesson1.jar Hello.class Welcome.class
//**********************************************
b.整个目录打包
F:\java\JavaLesson>jar cvf Lesson1.jar Lesson1/
已添加清单
正在添加: Lesson1/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: Lesson1/Hello.class(输入 = 416) (输出 = 286)(压缩了 31%)
正在添加: Lesson1/Hello.java(输入 = 169) (输出 = 127)(压缩了 24%)
...
(3)public类名和文件名相同
4.Java的8种数据类型
byte b;//1个字节有符号整数
short s;//2字节有符号整型
int i;//4字节有符号整型
long l;//8字节有符号整型
char c;//2字节无符号整型65535种字符 采用UNICODE编码
float f;//4字节浮点数
double d;//8字节浮点数
boolean bool=true;//两种值false和true
5.Java数据类型及语法熟悉
//**********************************************
//测试代码如下
- public class Hello
- {
- public static void main(String[] args)
- {
- //System.out.println("Hello World!");
- /*
- byte b;//1个字节有符号整数
- b=3;
- b=(byte)(b*3); //ok
- //b=b*3;//error int to byte possible lose of data
- System.out.println(b);
- */
- /*
- short s;//2字节有符号整型
- int i;//4字节有符号整型
- long l;//8字节有符号整型
- char c;//2字节无符号整型65535种字符 采用UNICODE编码
- */
- /*
- float f;//4字节浮点数
- f=1.3f;//ok
- //f=1.3;//error possible lose of data
- System.out.println(f);
- */
- /*
- double d;//8字节浮点数
- boolean bool=true;//ok
- //boolean bool=1 ;//error 错误 不能与整型进行相互转换
- System.out.println(bool);
- */
- /*
- //error
- if(1)
- {
- }
- //ok
- if(true)
- {
- }
- */
- /*
- //数组定义
- //int num[3];//error 定义时不能分配空间
- //int num1[];
- //num1=new int[3];//ok 定以后分配
- //定义时分配
- //int[] num2=new int[]{1,2,3};//ok
- //int[] num2=new int[3]{1,2,3};//error 加上大小错误
- //简单的初始化形式
- int[] num3=new int[3];
- num3[0]=1;
- num3[1]=2;
- num3[2]=3;
- */
- /*
- //二维数组
- int[][] num4;
- num4=new int[3][4];
- num4[0][1]=2;
- num4[0][2]=3;
- */
- /*
- //不规则数组
- int[][] num5;
- num5=new int[3][];
- num5[0]=new int[5];
- num5[1]=new int[3];
- num5[2]=new int[2];
- num5[0][4]=45;
- num5[1][2]=34;
- num5[2][1]=21;
- System.out.println(num5[0][4]);
- System.out.println(num5[1][2]);
- System.out.println(num5[2][1]);
- //System.out.println(num5[2][2]);//error 数组越界
- */
- //二维数组初始化
- //int[][] num6=new int[][]{1,2,3,4,5,6};//error
- //int[][] num6=new int[][]{{1,2,3},{4,5,6}};//ok
- //int[][] num6=new int[2][3]{{1,2,3},{4,5,6}};//error
- //int[][] num6={{1,2,3},{4,5,6}};//ok
- //*/
- /*
- //不规则数组初始化
- int[][] num7={{1,2,3},{4,5},{6}};
- System.out.println(num7[0][2]);
- System.out.println(num7[1][1]);
- System.out.println(num7[2][0]);
- //System.out.println(num7[2][2]);//error 数组越界
- */
- /*
- //++操作依赖于具体语言
- //++测试1
- int i=3;
- //System.out.println(i++);//result 3
- //System.out.println(++i);//result 4
- int count=(i++)+(i++)+(i++);
- System.out.println(i);//result 6
- System.out.println(count);// result 12
- //++测试2
- int j=3;
- int count2=(++j)+(++j)+(++j);
- System.out.println(j);//result 6
- System.out.println(count2);// result 15
- */
- }
- }
public class Hello{ public static void main(String[] args) { //System.out.println("Hello World!"); /* byte b;//1个字节有符号整数 b=3; b=(byte)(b*3); //ok //b=b*3;//error int to byte possible lose of data System.out.println(b); */ /* short s;//2字节有符号整型 int i;//4字节有符号整型 long l;//8字节有符号整型 char c;//2字节无符号整型65535种字符 采用UNICODE编码 */ /* float f;//4字节浮点数 f=1.3f;//ok //f=1.3;//error possible lose of data System.out.println(f); */ /* double d;//8字节浮点数 boolean bool=true;//ok //boolean bool=1 ;//error 错误 不能与整型进行相互转换 System.out.println(bool); */ /* //error if(1) { } //ok if(true) { } */ /* //数组定义 //int num[3];//error 定义时不能分配空间 //int num1[]; //num1=new int[3];//ok 定以后分配 //定义时分配 //int[] num2=new int[]{1,2,3};//ok //int[] num2=new int[3]{1,2,3};//error 加上大小错误 //简单的初始化形式 int[] num3=new int[3]; num3[0]=1; num3[1]=2; num3[2]=3; */ /* //二维数组 int[][] num4; num4=new int[3][4]; num4[0][1]=2; num4[0][2]=3; */ /* //不规则数组 int[][] num5; num5=new int[3][]; num5[0]=new int[5]; num5[1]=new int[3]; num5[2]=new int[2]; num5[0][4]=45; num5[1][2]=34; num5[2][1]=21; System.out.println(num5[0][4]); System.out.println(num5[1][2]); System.out.println(num5[2][1]); //System.out.println(num5[2][2]);//error 数组越界 */ //二维数组初始化 //int[][] num6=new int[][]{1,2,3,4,5,6};//error //int[][] num6=new int[][]{{1,2,3},{4,5,6}};//ok //int[][] num6=new int[2][3]{{1,2,3},{4,5,6}};//error //int[][] num6={{1,2,3},{4,5,6}};//ok //*/ /* //不规则数组初始化 int[][] num7={{1,2,3},{4,5},{6}}; System.out.println(num7[0][2]); System.out.println(num7[1][1]); System.out.println(num7[2][0]); //System.out.println(num7[2][2]);//error 数组越界 */ /* //++操作依赖于具体语言 //++测试1 int i=3; //System.out.println(i++);//result 3 //System.out.println(++i);//result 4 int count=(i++)+(i++)+(i++); System.out.println(i);//result 6 System.out.println(count);// result 12 //++测试2 int j=3; int count2=(++j)+(++j)+(++j); System.out.println(j);//result 6 System.out.println(count2);// result 15 */ }}//相应的错误类型及结果如下所示:
//**********************************************
(1)缺少main函数
//**********************************************
错误: 在类 Hello 中找不到主方法, 请将主方法定义为:
public static void main(String[] args)
(2)设置了错误的类路径
//**********************************************
F:\java\JavaLesson\Lesson1>set classpath=e:\
F:\java\JavaLesson\Lesson1>java Hello
错误: 找不到或无法加载主类 Hello
(3)类型不匹配
//**********************************************
Hello.java:8: 错误: 可能损失精度
b=b*3;
^
需要: byte
找到: int
1 个错误
(4)精度不匹配
//**********************************************
Hello.java:19: 错误: 可能损失精度
f=1.3;
^
需要: float
找到: double
1 个错误
(5)布尔类型赋值不兼容
//**********************************************
Hello.java:24: 错误: 不兼容的类型
boolean bool=1;
^
需要: boolean
找到: int
1 个错误
(6)布尔表达式中类型不兼容
//**********************************************
if(1)
{
}
Hello.java:28: 错误: 不兼容的类型
if(1)
^
需要: boolean
找到: int
1 个错误
(7)数组定义错误1 int num[3];//定义形式不能类似c语言
//**********************************************
Hello.java:35: 错误: 需要']'
int num[3];//定义时不能分配空间
^
Hello.java:35: 错误: 非法的表达式开始
int num[3];//定义时不能分配空间
^
2 个错误
(8)数组定义错误2 加上定义列表时无需指定大小
Hello.java:39: 错误: 需要';'
int num2[]=new int[3]{1,2,3};//加上大小错误
^
1 个错误
(9)数组定义错误3 越界错误
//**********************************************
45
34
21
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at Hello.main(Hello.java:71)
(10)数组定义错误4 数组元素初始化错误
//**********************************************
Hello.java:79: 错误: 不兼容的类型
int[][] num6=new int[][]{1,2,3,4,5,6};//error
^
需要: int[]
找到: int
Hello.java:79: 错误: 不兼容的类型
int[][] num6=new int[][]{1,2,3,4,5,6};//error
^
...
(11)数组定义错误5 数组元素初始化错误 不能指定数组大小
//**********************************************
Hello.java:81: 错误: 需要';'
int[][] num6=new int[2][3]{{1,2,3},{4,5,6}};//error
^
Hello.java:81: 错误: 不是语句
int[][] num6=new int[2][3]{{1,2,3},{4,5,6}};//error
...
- Java程序设计—孙鑫java无难事教程Lesson1《java技术与应用》
- java程序设计--孙鑫java无难事Lesson10《Java图形界面编程》
- java程序设计--孙鑫java无难事Lesson7《多线程》
- java程序设计--孙鑫java无难事Lesson8《集合类》
- java程序设计--孙鑫java无难事Lesson9《IO操作》
- java程序设计--孙鑫java无难事Lesson11《Applet》
- java程序设计--孙鑫java无难事Lesson12《网络编程》
- java程序设计--孙鑫java无难事Lesson5《java常用包、数据类型与引用类型、函数参数传递、克隆机制》
- java程序设计--孙鑫java无难事Lesson2《位运算及面向对象程序设计》
- 孙鑫JAVA无难事第一节课
- 孙鑫JAVA无难事第二节课
- 孙鑫java无难事下载地址
- java程序设计--孙鑫java无难事Lesson3《包、类和方法说明符、垃圾回收、接口》
- java程序设计--孙鑫java无难事Lesson4《内部类、异常处理》
- java程序设计--孙鑫java无难事Lesson6《数组相关操作、几个特殊的类、设计模式》
- java无难事笔记(一)
- java无难事笔记(二)
- java无难事笔记(五)
- POJ-1847-Tram
- 如何打印类成员函数的地址
- 问答/感
- HTTP HTTPS WebService
- 1012. Joseph
- Java程序设计—孙鑫java无难事教程Lesson1《java技术与应用》
- 浅谈11g数据库flashback 特性
- union all和union的区别
- 【NOI2005】【splay】维护数列
- 分页及三级联动项目
- uva 11520 - Fill the Square
- java程序设计--孙鑫java无难事Lesson2《位运算及面向对象程序设计》
- c3p0,dbcp和proxool
- java程序设计--孙鑫java无难事Lesson3《包、类和方法说明符、垃圾回收、接口》