您的位置:首页 > 职场人生

黑马程序员--java基础--基础语法

2015-08-08 21:23 330 查看
1. 标识符:起名字--见名知意 
命名规范
类和接口:首字母大写
Demo,OperatArrayDemo,HelloWorld

包:全部小写
day01, com.itheima.test

方法和变量:第一个字母小写,其余单词,首字母大写
getMax, getMin ,printArray,

常量 :全部大写 
PI , MAX_NUMBER,
String  URL = "www.baidu.com";

注意:标识符的组成规则
英文大小写字母
数字字符
$和_
:标识符注意事项
不能以数字开头
不能是 Java 中的关键字
区分大小写

2. 关键字:java语言中,赋予特殊含义的单词 
特点:全部都是小写字母,编辑器带有特殊颜色(蓝色).

3. 常量:在程序执行的过程中,其值不发生改变
分类:
字面值常量
自定义常量

字面值常量: 字面儿是什么值,就代表什么值 
字符串:""
整数: 1234
小数:0.012
字符:''
布尔: true false
空 : null 

4. 变量:在程序执行的过程中,其值在一定的范围内可以发生改变
本质:内存中一片空间 
格式:
数据类型 变量名 = 初始化值;
int x = 369;
注意:
没有初始化值,不能使用.

数据类型:限定变量的值变化的范围.
基本数据类型: 四类八种
整型
byte ,short,int,long

浮点型
float,double
字符型
char
布尔型
boolean

引用数据类型:
类 接口 数组 

5. 变量类型转换
隐式转换(默认),从小到大
byte,short,char --> int --> long-->float -->double
注意:boolean 不参与转换
byte,short,char,相互之间不转换,都默认转换为int进行计算

显示转换(强制)
格式:
数据类型 变量名 = (目标数据类型)(数据);
byte b = (byte) 222;

6. 数据类型的范围
数据类型 字节数范围
byte 1-128~127
short 2-32768~32767
char 20~65535
int 4-2^31~2^31-1
(-2147483648~2147483647)

long 8-2^63~2^63-1
float 410^38 
double
8 10^308 
boolean
1 true  false

7. 运算符6个和运算结果

运算符 结果

算术  + - ++ --
计算的值
赋值  = += ...
右边赋值给左边
关系  > < == != ..true false
逻辑  && || & ^ !...true false 
位  << >>> & | ...计算的值
三元  int c = (a>b)? a:b;右边赋值个左边

8. 选择语句
if : 如果 
格式:
if ( 关系表达式){
执行语句1;
}else{
执行语句2;
}

if ( 关系表达式){
执行语句1;
}else if(关系表达式2){
执行语句2;
}else if(关系表达式2){
执行语句2;
}......
else{
执行语句2;
}

switch:

switch(表达式){
case 值1:
执行语句;
break;
case 值1:
执行语句;
break;
case 值1:
执行语句;
break;
case 值1:
执行语句;
break;
default :
执行语句;

}

a:case 后面只能是常量,不能是变量,而且,多个 case 后面的值不能出现相同的
b:default 可以省略吗?
可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
特殊情况:
case 就可以把值固定。
A,B,C,D
c:break 可以省略吗?
可以省略,但是结果可能不是我们想要的。
会出现一个现象:case 穿透。
最终我们建议不要省略
d:default 一定要在最后吗?
不是,可以在任意位置。但是建议在最后。
**********
switch 语句的结束条件
a:遇到 break 就结束了
b:执行到末尾就结束了

9. 循环语句
for 
for(初始化语句; 判断条件语句; 控制条件语句){
执行语句; 

}
练习题:多多练习
for循环嵌套案例小结:
for(){
for(){
执行语句;
}
}

外循环控制行,内循环控制列

while
等价于for循环,可以相互的转换
小小区别:
初始化语句:
while结束时,初始化语句中变量可以继续使用
for则不行  
do...while 
特点:do一次,然后再判断 
初始化语句;
do{
执行语句;
控制语句
}while(判断语句);

10. break: 中断,loop或者 switch
continue: 继续 ,结束当次循环,继续下一次循环
return:  返回 ,结束方法 ,将返回值返给调用者 

11. 方法:完成特点功能的代码块
格式:
修饰符  返回值类型 方法名 (参数类型 参数名......){
执行语句;
return 返回值;
}

调用:
有明确返回值类型(数据类型)
推荐 : 赋值调用 

不明确返回值类型(void)
唯一 : 单独调用

写方法步骤:
两个明确:
返回类型
参数列表:参数类型和参数个数

重载的条件:
1.方法名一致
2.参数列表不同
注意:跟返回值类型没有任何关系 

12.数组:容器 ,存数据, 
(1)数组:

(2)特点:
1.元素的类型一致
2.可以存多个元素
3.一旦数组创建,其长度不可以改变
(3)定义格式
数据类型[] 数组名 = new 数据类型[长度];
int[] arr = new int[8];
int[] arr2 = {1,2,3,4,5};

(4)数组的初始化
A:动态初始化

B:静态初始化

(5)Java的内存分配



注意:
a:局部变量:在方法定义中或者方法声明上定义的变量。
b:栈内存和堆内存的区别
栈:数据使用完毕,就消失。
堆:每一个new出来的东西都有地址
   每一个变量都有默认值
byte,short,int,long 0
float,double 0.0
char '\u0000'
boolean false
引用类型 null
   数据使用完毕后,在垃圾回收器空闲的时候回收。

(6)数组的常见操作
A:遍历

public static void print(int[] arr){
System.out.print("[");
for (int i=0;i<arr.length ;i++ ){
System.out.print(arr[i]+" ");
}
System.out.println("]");
}

B:最值
最大值:

public static int getMax(int[] arr){
int max=0;
for (int i=1;i<arr.length ;i++ ){
max = (arr[max]>arr[i])?max:i;
}
return max;
}
最小值:
public static int getMin(int[] arr){
int min=0;
for (int i=1;i<arr.length ;i++ ){
min= (arr[min]<arr[i])?min:i;
}
return min;
}
C:逆序
方式1

public static void reverse(int[] arr){
int temp;
for (int i=0;i<arr.length/2 ;i++ ){
temp = arr[i];
arr[i]=arr[arr.length-1-i];
arr[arr.length-1-i]=temp;
}
}

方式2:
public static void reverse(int[] arr) {
for(int start=0,end=arr.length-1; start<=end; start++,end--) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
}
}
D:查表
public static String getString(String[] strArray,int index) {
return strArray[index];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: