Java编程是需要22次处理才可以正常执行:
对源代码编译:javac Hello.Java,会出现一个hello.class的字节码文件
利用jvm进行编译,编译出一套与平台无关的字节码文件(*.class)
在jvm上进行解释执行 :java Hello
解释的就是字节码文件,字节码文件是不需要编写的
针对程序的完美解释
7.java开发程序中最基础的是类,所有程序必须有
Public class 类名称(){}-类名称和文件名要一致,一个java文件里只能有一个
class 类名称(){}--类名称和文件名可以不一致
java语言类命名首字母必须大写
public class Hello{
public static void main(String args[]){
Systrm.out.println("hello tom");
}
}
7.主方法定义
主类采用“public class”来定义
public class 类名称{
public static void main(String args[]){
程序代码由此执行
}
}
Println(输出内容)换行
Print(输出内容)不换行
8.Shell脚本程序的含义,可以在编辑语言里为了方便进行diamante开发,只是为了剪短的程序验证,但是java代码中必须编辑很对代码结构,共有jshell指令,
文件参数
Systrm.out.println("hello tom");
Systrm.out.println("www.QQ.com");
希望在shell中执行
/open/d:/文件名
9.找不到或无法加载的类
Java.lang.ClassNotFoundException:Hello
SET CLASSPATH=目录:\文件名
SET CLASSPATH=.;设置为“.”定义为全局属性,这可以直接在系统中追加。
PATH:操作系统提供的路径配置,定义可执行路径。
CLASSPATH:有jre提供,用来定义java程序解释时类加载的路径CLASSPATH=路径,的命令形式来定义。
关系JVM-> CLASSPATH定义的路径->加载的字节码文件。
10.注释具体内容,使得项目维护更加方便。
单行注释://
多行注释/* … */
文档注释/** … */
public class 类名称{
// 单行注释
/*
多行注释
*/
/**
*文档注释
*/
public static void main(String args[]){
程序代码由此执行
}
}
11.标识符和关键字
在任何一个程序之中实际上是一个整体,在java语言里不通的结构一定要有不同的说明。对于结构的说明是将神是命名的要求,一般都用有意义的单词组成,对标识符的组成在java中定义如下,偶字母数字,下划线,$所组成,不能用关键字
关键字是系统对一些结构描述处理,有这特殊含义。
Jdk1.4的时候出现的assert关键字,用于异常处理上;
Jdk1.5的时候出现的enum关键字,用于枚举类定义上;
12.java数据类型分类
基本数据类型:描述具体数字单元
数值型-整形:byte、short、int、long;默认值:0
浮点型:float,double; 默认值:0.0
布尔型:boolean; 默认值:false
字符型:char; 默认值:\u0000
如果描述数字范围首选int(整数)和double(小数)
如果进行数据传输或者进行文字编码转换使用byte离线(二进制处理操作)
如果处理中文最方便操作使用的是字符char
如果描述内存或文件大小,描述主键列(自动增长)可以使用long
引用数据类型:数组,类、接口 默认值:null
13.定义int型变量 int x = 10;(int 变量名称 = 常量)
变量是可以轻易改变的,但是常量是永远不变的。
如何解决数据溢出问题,如果范围不够,则使用更多范围的类型;
除了定义long类型变量之外,也可以直接在常量上进行处理,默认常量为int,可以为他追加字母“L”,或者直接使用long转换。
范围小的数据可以自动转换成范围大的数据,范围大的数据不能直接转为数据小的数据,需要强转,
long num = 常量;(此数据最好不要超出强转类型范围,不建议常使用)
Int temp = (int)num;
14.java小数常量为double,所以描述小数的时候直接用double
15.字符串char的定义,java中定义就是一个字符;
char c = “A”; 大写范围“A-Z”(65-90);小写范围“a-z”(97-122);大小写差32位
字符0-9(48-57)
char可以保存中文数据,是因为java使用的是uncoid这种16进制,可以包含任意文本内容。
16.布尔数据类型,true和false
17.String字符串
String比较特殊,可以想去普通变量一样赋值,用“”双引号抱起来;
String A = “A”;
可以使用“+”进行字符串连接;
18.运算符
+,-,*,/;先乘除后加减;
19.数学运算符
四则远算+,-,*,/;
Int a = 10;
a = a+20;---a+ = 20;
++变量或者--变量:先进行变量的自增或者自减,而后进行数字的计算
变量或++者变量--:先使用变量进行计算,绕后进行自增或者自减
20.关系运算符(>,>=,<,<=,!=,==)
所有关系运算返回的判断记过是布尔类型的数据
21.三目(赋值)预算
需要设置一个逻辑关系之后才可以进行的复制操作。
关系运算?关系满足时的内容:关系不满足时的内容
Int x= 10;int y= 20; int max = 0;
三目Int max = x>y?x:y;
普通 if(x>y){
max =x;
else{
max =y;
}
虽然允许进行嵌套处理,但是程序可读性变差,根据实际情况进行使用。
22.位运算
与(&),或(|),异或(^),反码(~),位移处理;
1248
&&:若干条件判断的时候,如果前面的条件返回false,后续所有的条件不再执行都是false;
| |:若干条件判断的时候,如果前面的条件返回true,后续所有的条件不再执行都是true;
23.if分支结构
If(布尔表达式){条件满足执行} ,
if(布尔表达式){{条件满足执行}else{条件不满足执行},
if(布尔表达式){ 条件满足执行}else if(布尔表达式){条件满足执行};
24.switch开关语句
switch(数据){
case数值:{
数值满足提条件执行;
}
[break;]
case数值:{
数值满足提条件执行;
}
[break;]
[default:
所有判断数值不满足执行;
[break;]
]
}
25while循环结构
while(布尔表达式){
条件满足时执行;
修改循环条件;
}
do{
条件满足时执行;
修改循环条件;
} while(布尔表达式);
While和do while的最大差别:while循环是先判断后执行,都..while先执行一次后判断(使用情况1%)
26.for循环结构
For(定义初始化数值;循环判断;修改循环数据){
循环语句的执行;
}
27.循环控制
break:使用是退出整个循环的结构
continue:使用的时候表示在当前的语句之中后续代码不再执行,而直接执行后续的判断处理
28.循环嵌套
打印乘法表和,三角形
29.方法(method)定义
方法在主类中定义,并且由主方法直接调用。
Public static 返回值类型 方法名称([参数类型 变量…]){
//该方法执行的代码
return:返回值;
}
return:(java中定义的基本数据类型/引用数据类型;return所返回的数据类型与方法的返回值类型相同)
方法的本质就是方便使用者进行从复的调用,并且所有的程序一直都是主方法开始执行的。
return:结束方法调用。
30.方法重载
方法名称相同,参数的类型或者个数不同的时候就称为方法重载。
一个方法名称可以根据调用时传递不同的参数类型或者个数实现不同方法的调用,这样实现方法重载的定义。
方法的重载与方法的返回值没有关系,纸盒参数有关系
遵守开发原则,方法重载建议其返回类型相同
31.方法递归调用
一定要方法递归调用的结束条件;
每次调用的过程之中一定要修改传递的参数条件}
少使用递归,大部分时间不考虑,会造成内存溢出的情况(阶乘计算必须考虑数据类型)