黑马程序员——Java基础---基本组成
2015-06-02 14:13
351 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
特点:关键字中所有字母都为小写
格式:class类名 extends父类名称{
属性声明及初始化;方法声明及方法体;
}
interface:接口,一种抽象的类型,仅有方法和常量的定义
格式:interface 接口名 [extends 父接口列表]{
[public][static][final]属性类型属性名=常量值;
[public][abstract]返回值类型方法名(参数列表);
}
byte:8-bit 有符号数据类型
short:16位数字
int:32位整型数
long:64位整型数
float:32-bit单精度浮点数
double:64-bit双精度浮点数
char:16-bit Unicode字符数据类型
boolean:布尔数据类型
void:标记方法不返回任何值
代码:
false
null
else:if条件不成立时执行的分支
switch:选择语句
case:switch语句的一个条件
default:switch语句中的默认分支
while:while循环
do:循环语句,循环体至少会执行一次
for:for循环语句
break:跳出循环或者label代码段
continue:不执行循环体剩余部分
return:方法返回值
protected:表示字段只能通过类或者其子类访问,子类或者在同一个包内的其他类
public:表示共有属性或者方法
final:表示一个值在初始化之后就不能再改变了,表示方法不能被重写,或者一个类不能有子类
static:表示在类级别定义,所有实例共享的
synchronized:表示同一时间只能由一个线程访问的代码块
implements:表示一个类实现了接口
this:表示调用当前实例或者调用另一个构造函数
super:表示基类
instanceof:测试一个对象是否是某个类的实例
catch:和try搭配捕捉异常信息
finally:try 语句不管是否发生异常都要执行的语句块
throw:抛出异常
throws:定义方法可能抛出的异常
import:导入类
strictfp:浮点数比较使用严格的规则
transient:修饰不要序列化的字段
volatile:标记字段可能会被多个线程同时访问,而不做同步
assert:断言条件是否满足
由26个英文字母大小写,数字:0-9 符号:_ $ 组成
定义合法标识符规则:
1,数字不可以开头。
2,不可以使用关键字。
Java中严格区分大小写。
注意:在起名字的时,为了提高阅读性,要尽量有意义。
Java中的名称规范
包名:多单词组成时所有字母都小写。
xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写。
XxxYyyZzz
变量名和函数名:多单词组成时,第一个单词首字母小写,第二 个单词开始每个单词首字母大写。
xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接。
XXX_YYY_ZZZ
自动类型转换(也叫隐式类型转换)
强制类型转换(也叫显式类型转换)
类型转换的原理
什么时候要用强制类型转换?
表达式的数据类型自动提升
所有的byte型、short型和char的值将被提升到int型。
如果一个操作数是long型,计算结果就是long型;
如果一个操作数是float型,计算结果就是float型;
如果一个操作数是double型,计算结果就是double型。
代码:
判断结构
if语句
三种格式:
1.
if(条件表达式)
{
执行语句;
}
2.
if(条件表达式)
{
执行语句;
}
else
{
执行语句;
}
3.
if(条件表达式)
{
执行语句;
}
else if (条件表达式)
{
执行语句;
}
……
else
{
执行语句;
}
选择结构
switch语句
格式:
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
…...
default:
执行语句;
break;
}
switch语句特点:
a,switch语句选择的类型只有四种:byte,short,int ,char。
b,case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。
c,结束switch语句的两种情况:遇到break,执行到switch语句结束。
d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
循环结构
代表语句:while , do while , for
while语句格式:
while(条件表达式)
{
执行语句;
}
do while语句格式:
do
{
执行语句;
}while(条件表达式);
格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
注:
a,for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件, 为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件, 重复找个过程,直到条件不满足为止。
b,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
c,最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。
其他流程控制语句
break(跳出), continue(继续)
break语句:应用范围:选择结构和循环结构。
continue语句:应用于循环结构。
注:
a,这两个语句离开应用范围,存在是没有意义的。
b,这个两个语句单独存在下面都不可以有语句,因为执行不到。
c,continue语句是结束本次循环继续下次循环。
d,标号的出现,可以让这两个语句作用于指定的范围。
总结
Java中的基础知识与其他语言的基础知识基本相同,除了一些Java特有的一些修饰符还有关键字。
关键字
定义:Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。特点:关键字中所有字母都为小写
用于定义数据类型的关键字
class:定义类格式:class类名 extends父类名称{
属性声明及初始化;方法声明及方法体;
}
interface:接口,一种抽象的类型,仅有方法和常量的定义
格式:interface 接口名 [extends 父接口列表]{
[public][static][final]属性类型属性名=常量值;
[public][abstract]返回值类型方法名(参数列表);
}
byte:8-bit 有符号数据类型
short:16位数字
int:32位整型数
long:64位整型数
float:32-bit单精度浮点数
double:64-bit双精度浮点数
char:16-bit Unicode字符数据类型
boolean:布尔数据类型
void:标记方法不返回任何值
代码:
class VarDemo { public static void main(String[] args) { //定义变量的格式 //数据类型 变量名 = 初始化值; //定义一个int类型变量,取值为4; int x = 4; System.out.println(x); x = 10; System.out.println(x); //演示其他数据类型。 byte b = 2;//-128~127 short s = 30000; long l = 4l; float f = 2.3f; double d = 23.21; boolean bo = true; char c = 'a'; char ch = 'b'; /* 什么时候定义变量? 当数据不确定时,需要对数据进行存储时,就定义一个变量完成存储动作。 */ //类型转换 // byte b = 3; // b = b + 2; // System.out.println(b); System.out.println('a'+1); System.out.println((char)('a'+1)); System.out.println((char)99); } }
用于定义数据类型值的关键字
truefalse
null
用于定义流程控制的关键字
if:条件语句else:if条件不成立时执行的分支
switch:选择语句
case:switch语句的一个条件
default:switch语句中的默认分支
while:while循环
do:循环语句,循环体至少会执行一次
for:for循环语句
break:跳出循环或者label代码段
continue:不执行循环体剩余部分
return:方法返回值
用于定义访问权限修饰符的关键字
private:表示私有字段,或者方法等,只能从类内部访问protected:表示字段只能通过类或者其子类访问,子类或者在同一个包内的其他类
public:表示共有属性或者方法
用于定义类,函数,变量修饰符的关键字
abstract:抽象方法,抽象类的修饰符final:表示一个值在初始化之后就不能再改变了,表示方法不能被重写,或者一个类不能有子类
static:表示在类级别定义,所有实例共享的
synchronized:表示同一时间只能由一个线程访问的代码块
用于定义类与类之间关系的关键字
extends:表示一个类是另一个类的子类implements:表示一个类实现了接口
用于定义建立实例及引用实例,判断实例的关键字
new:分配新的类实例this:表示调用当前实例或者调用另一个构造函数
super:表示基类
instanceof:测试一个对象是否是某个类的实例
用于异常处理的关键字
try:表示代码块要做异常处理或者和finally配合表示是否抛出异常都执行finally中的代码catch:和try搭配捕捉异常信息
finally:try 语句不管是否发生异常都要执行的语句块
throw:抛出异常
throws:定义方法可能抛出的异常
用于包的关键字
package:一系列相关类组成一个包import:导入类
其他修饰符关键字
native:表示方法用非java代码实现strictfp:浮点数比较使用严格的规则
transient:修饰不要序列化的字段
volatile:标记字段可能会被多个线程同时访问,而不做同步
assert:断言条件是否满足
标识符
在程序中自定义的一些名称。由26个英文字母大小写,数字:0-9 符号:_ $ 组成
定义合法标识符规则:
1,数字不可以开头。
2,不可以使用关键字。
Java中严格区分大小写。
注意:在起名字的时,为了提高阅读性,要尽量有意义。
Java中的名称规范
包名:多单词组成时所有字母都小写。
xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写。
XxxYyyZzz
变量名和函数名:多单词组成时,第一个单词首字母小写,第二 个单词开始每个单词首字母大写。
xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接。
XXX_YYY_ZZZ
常量和变量
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间。自动类型转换(也叫隐式类型转换)
强制类型转换(也叫显式类型转换)
类型转换的原理
什么时候要用强制类型转换?
表达式的数据类型自动提升
所有的byte型、short型和char的值将被提升到int型。
如果一个操作数是long型,计算结果就是long型;
如果一个操作数是float型,计算结果就是float型;
如果一个操作数是double型,计算结果就是double型。
代码:
class OperateDemo { public static void main(String[] args) { int a = 3,b; //a++; -->a = a + 1; b = ++a; System.out.println("a="+a); //字符串数据和任何数据使用+都是相连接,最终都会变成字符串。 /* 转义字符:通过\来转变后面字母或者符号的含义。 \n:换行。 \b:退格。相当于backspace。 \r:按下回车键。window系统,回车符是由两个字符来表示\r\n。 \t:制表符。相当于tab键。 */ System.out.println("hello \t world"); //逻辑运算符用于连接boolean类型的表达式。 /* true & true = true; true & false = false; false & true = false; false & false = false; &:只要两边的boolean表达式结果,有一个false。那么结果就是false 只有两边都为true,结果为true。 */ /* true | true = true; true | false = true; false | true = true; false | false = false; |:两边只要有一个为true,结果为true。 只有两边都为false,结果为false。 */ /* ^:异或;和|有点不一样。当true ^ true = false; true ^ true = false; true ^ false = true; false ^ true = true; false ^ false = false; ^:两边相同结果是false。 两边不同结果是true。 */ /* &和&&的特点: &:无论左边是true还是false。右边都运算。 &&:当左边为false时,右边不运算。 |:两边都参与运算 ||:当左边为true,右边不运算。 */ //1,通过第三方变量。 int temp,n=3,m = 8; /* temp = n; n=m; m = temp; */ //2,不用第三方变量 /* n = n + m;如果n和m的值非常大,容易超出int范围。 m = n - m; n = n - m; */ n = n ^ m; m = n ^ m;//(n^m)^m; n = n ^ m;//n^(n^m) System.out.println(false^false); System.out.println("n="+n+",m="+m); } }
判断结构
if语句
三种格式:
1.
if(条件表达式)
{
执行语句;
}
2.
if(条件表达式)
{
执行语句;
}
else
{
执行语句;
}
3.
if(条件表达式)
{
执行语句;
}
else if (条件表达式)
{
执行语句;
}
……
else
{
执行语句;
}
选择结构
switch语句
格式:
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
…...
default:
执行语句;
break;
}
switch语句特点:
a,switch语句选择的类型只有四种:byte,short,int ,char。
b,case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。
c,结束switch语句的两种情况:遇到break,执行到switch语句结束。
d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
循环结构
代表语句:while , do while , for
while语句格式:
while(条件表达式)
{
执行语句;
}
do while语句格式:
do
{
执行语句;
}while(条件表达式);
格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
注:
a,for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件, 为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件, 重复找个过程,直到条件不满足为止。
b,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
c,最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。
其他流程控制语句
break(跳出), continue(继续)
break语句:应用范围:选择结构和循环结构。
continue语句:应用于循环结构。
注:
a,这两个语句离开应用范围,存在是没有意义的。
b,这个两个语句单独存在下面都不可以有语句,因为执行不到。
c,continue语句是结束本次循环继续下次循环。
d,标号的出现,可以让这两个语句作用于指定的范围。
总结
Java中的基础知识与其他语言的基础知识基本相同,除了一些Java特有的一些修饰符还有关键字。
相关文章推荐
- 黑马程序员java学习笔记——基础常识及java概述
- 黑马程序员——面向对象---继承
- 黑马程序员——java语言基础常量、变量、运算符
- 《人,绩效和职业道德》及某高级程序员博客的读后感
- 黑马程序员——Java概述
- 面试题31:连续子数组最大的和
- 别把自己当个超人——给初级程序员的一点小小建议
- 能立刻激怒程序员的10句逗逼话==程序员的笑话
- 黑马程序员——java基础——异常笔记
- 程序员什么时候该考虑辞职
- 编程之美面试题12
- [web面试] 2015年最新前端开发面试题集合(非常全面)
- 黑马程序员----------类与对象(三)
- 黑马程序员-java之可变参数
- 为什么程序员应该从现在就开始看书
- 10.百度最新面试题:现在有1千万个随机数,随机数的范围在1到1亿之间。现在要求写出一种算法,将1到1亿之间没有在随机数中的数求出来。
- 面试常见问题:如何加密Web项目中配置文件中的密码?
- 黑马程序员-java之HashMap,TreeMap
- 黑马程序员——学习日记之--集合框架知识总结
- strcpy、memcpy和memset的区别