java-基础《一》
1.java编程方向
-
Java se ( j2 se ) 即桌面开发
-
java ee ( j2 ee ) 即web开发
-
java me ( j2 me) 即手机开发
2.java历史:
Java名字的由来,因为外国人喜欢喝咖啡,而咖啡的原产地是爪哇岛,所以就将 爪哇岛音译过来Java。
1990年 sun公司启动一个项目--绿色计划,打算编写一种语言来控制机顶盒,后来慢慢发展,到了1992年就产生了Java语言。
1994年詹姆斯·高斯林(Java之父)参加了硅谷大会并演示了Java的功能,他用Java写了一个浏览器,当输入一个网址后,网页出现了一个动态的图片,这令所有人都震惊。
1995年sun公司正式发布Java第一个版本。不过sun公司被oracle公司收购了。
3.java开发工具:
jcreator ,jbuilder, netbean, eclipse。现在常用流行的是eclipse
4.java语言的特点:
1,易用简单性。 2,面向对象编程。
3,跨平台(操作系统:Windows系统, 苹果系统,unix, linux等)即一次编译,到处运行
4,高性能。
注意:Java采用Unicode编码,所以char占两个字节。
5.java运行的原理:
Java源文件(.Java文件)通过Java编译器器(javac.exe)编译出Java字
节码文件(.class文件),再由解析执行器(Java.exe)将class文件加载到
jvm(Java虚拟机),class文件就会在jvm中执行。jvm(java虚拟机)是一个
可运行Java字节码的假想计算机,这就是Java跨平台的原因,它的作用
是从Java字节码文件中取出一条条的字节码指令交给“cpu”去执行。这
里就有一个有趣的问题了,如果我只有.class文件,那我怎么查看它的源
代码吗??这是可以的,我们可以利用JAD这个反编译的软件来将.class
文件反编译出.Java文件不就可以了查看源代码了吗!!
xxx.java ---------------> xxx.class ------------>JVM(虚拟机)运行
(javac.exe) (java.exe)
6.java基础知识:
(1)变量类型:
a.整型常量:有十进制,十六进制,八进制。
注意:十进制的第一位不能是0
十六进制开头必须是0x或0X
八进制开头必须是0
长整型必须以L结尾
b.浮点数常量: 有float(32位)和double(64位)两种类型,小数常量默认类型是double型, 如想表示float型需要以f或F结尾。
c.布尔常量:true和false,常用与判断语句中,如if语句。
d.字符常量:由英文字母,数字,转义序列,特殊字符等表示,用单引号括起来如’a’。
e.字符串常量:其用双引号括起来,如”hello”。
(2) 数据类型:
a.8大基本数据类型:字符型,布尔型,整数型(byte,int,short,long),浮点型(4种整形(byte,short,int long),2种浮点(float,double),1种字符(char,占两个字节),1种boolean)
b.引用数据类型:类(class) 接口(interface) 数组 String类型
(3)Java程序的注释:
a.当行注释: //注释的地方,只能在本行注释符的尾部注释
b. 多行注释: /*注释的地方,在eclipse中会显示为绿色字体,被首尾注释符包裹着, 可在多行注释*/
c. 文档注释: /** 注释的地方,这内容会被解释成程序的正式文档,被包含进诸如
javaadoc之类的工具程序生成的文档里,用以说明该程序的层次结构以及其方法*/
(4)Java中的标识符:
Java中的包名,类名,方法名,变量名可以由任意的大小写字母,数字,下划线,和美元符号($)组成,但不能以数字开头,
,区分大小写,而且不能是Java中的保留关键字,无长度限制。
(5)Java的关键字:
常见的关键字:abstract boolean break public 等等,不必死记
注意:sizeof goto const 在Java中不是关键字,但不能用goto const 作为变量名
(6)java表达式类型提升规则:
byte,short,char型的值被提升到int型.
(7)变量的作用域:
变量的作用域在被包裹的第一层大括号里的代码块.
(8)运算符:
a.算术运算符: + - * /
b.赋值运算符: =
c.比较运算符: > < >= <= ==
d.逻辑运算符: & | ~
e.位运算符:右移(除以2的n次方)>> 左移(乘以2的n次方)<< 无符号右移>>>
注意:a>>1,没有任何意义,既不改变a的值,也没有将它的值赋给谁,y=a>>1。 就不一样
(9)流程控制:
a.if语句: if ( ) {} else {}
b.switch语句:
switch (表达式)
{
case 取值1 : 语句块2 break;
case 取值2: 语句块2 break;
}
注意: 表达式只能是int ,byte,short,char类型的值,在最新的jdk里增加了字符串和枚举类型
c.while循环语句: while () {}
d.do while语句: do { } while () ;
e.for循环语句: for( ; ; ) { }
f.break和continue:
(10)数组:
java将内存分为栈内存和堆内存
堆内存:存放new创建的对象和数组,其回收由垃圾回收器处理(引用地址)
栈内存:存放数组和对象的首地址,即引用的变量名指向数组和对象
a.数组的初始化
静态初始化:
int [] a=new int [] {1,2,3};
int [] a={1,2,3};
b.多维数组(数组的数组)
int xx [] [] ;
xx=new int [3] [];
xx[0]=new int [3];
xx[1]=new int[2];
int xx[] []=new int [3] [2] ;
int [] [] xx={{1,2,3},{5,3}};
总结:
1.char占两个字节
2.类的成员变量默认值,基本数据类型为0,false,\u0000,引用类型为null
3.java出采用unicode编码
4.短路与(&&),短路或(||),判断第一个有结果就行了,其他要两边判断