## hello word
编写一个hello word程序
编译型
将编写的高级语言代码编译成计算机识别的计算机语言
解释型
将编写的高级语言逐条解释成计算机识别的计算机语言(解释需要时间)
JAVA的编译过程
将JAVA代码编译成.class文件,传入JVM中使用解释器传入操作系统平台
强类型语言:要求变量的使用必须要合乎规定,所有变量都要先定义才能使用。
弱类型语言:随意使用变量,安全性不高。
JAVA的数据类型为两大类
八进制 十进制 十六进制
010 8 0x10
舍入误差:
浮点数:有限、离散、舍入误差、大约、接近但不相等
char类型的编码:unicode的字符编码
转义字符:\t: Tab键
\n: 回车
boolean flag = true; if(flag){ sout(flag); }
低------------------------------------------------------------->高
byte,short,char–>int -->long–>float–>double
字符转换中的强制转换,存在内存溢出问题。
字符转换中不能将起转换为不相干的类型
不能对boolean类型进行转换
int money = 10_0000_0000; sout (money); out: 1000000000
变量是什么?
变量就是可以变化的量
JAVA是一种强类型语言,每个变量都需要声明其类型。
JAVA变量是程序中的存储单元。
*作用域:类变量,实例变量,局部变量
见名知意,驼峰命名法,常量名全大写“_”分割
包的本质:文件系统中的文件夹(规范:将公司域名倒置建包)
/** *@author *@version *@sion *@param *@return *@throws */
javadoc -encoding UTF-8 -charset UTF-8 xxx.file
生成javadoc的帮助文档
一个扫描器对象,用于接受键盘数据;
Scanner scanner = new Scanner(System.in); next(); //拿到输入中空格前的数据 hasNextLine(); //判断是否还有数据 nextLine(); //拿到回车前的数据 ……………… scanner.close();
从头到尾执行
if单项选择结构
if(boolean){ sout("成功"); }
if双向选择结构
if(boolean){ sout("成功"); }else{ sout("失败"); }
if 多选择结构
if(boolean){ sout("优"); }else if(boolean){ sout("良"); }else if(boolean){ sout("差"); }else{ sout("成绩不合法"); }
if嵌套结构
if(boolean){ if(boolean){ sout("结果"); } }
switch选择结构
switch(expression){ case value : sout("A"); break; case value : sout("B"); break; default : sout("未知"); }
JDK7后支持String类型选择。
case穿透效果。
while循环结构
while(boolean){ sout("循环"); }
必要时使用死循环,但是要设置跳出循环点。
do-while循环结构
do { sout("循环"); }while(boolean);
for循环结构
for(inr i=0; i<100; i++){ sout("循环"); }
增强for循环
for( int x:numbers){ sout("i"); }
break用处
跳出循环结构
continue用处
跳出某次循环
goto用法:标签
outer:for(int i=a; i<b ;i++){ for(int j=a; j<b ; j++){ continue outer; } }
方法是语句的集合,组合在一块执行完成某种功能
保持方法的原子性。
方法包含一个方法头和一个方法体
方法的重载
相同的方法名,有不同种类或不同个数的参数。调用时使用不同的参数,调用不同的参数。使程序更加灵活
返回值可以相同也可以不同。
jvm会自动匹配不同的方法,匹配不上时会报错。
一个方法中只能有一个可变参数,并且只能在所有常熟的末尾。
public static int test( int i ,double... a);
A方法调用A方法
递归可以降低方法的规模,将其大事化小,小事化了。
包含递归头和递归体
程序都要有一个边界条件
前阶段
返回阶段
空间占用特别高,影响电脑性能。
相同类型的数据的有序集合
其中每个数据可以通过下标访问每个数据
声明数组 类型[] 变量名 ;
new数组 类型[] 变量名 = new 类型[];
静态初始化: int { … }
动态初始化: new { … }
数组中嵌套数组
声明和定义数组
arrays类
稀疏数组
位置 横 纵 值
总横 总纵 总值
3 2 1
界条件
前阶段
返回阶段
相同类型的数据的有序集合
其中每个数据可以通过下标访问每个数据
声明数组 类型[] 变量名 ;
new数组 类型[] 变量名 = new 类型[];
静态初始化: int { … }
动态初始化: new { … }
数组中嵌套数组
声明和定义数组
arrays类
稀疏数组
位置 横 纵 值
总横 总纵 总值
3 2 1