黑马程序员--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];
}
命名规范
类和接口:首字母大写
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];
}
相关文章推荐
- 黑马程序员——Java基础---IO(二)---IO字节流、流操作规律
- 黑马程序员--IO流之字节流
- StackOverflow程序员推荐:每个程序员都应读的30本书
- 《程序员面试宝典3》大量错误(50+)纠正表
- Java后台工程师面试杂记——不跳不涨工资星人跳槽经历
- 剑指offer_面试题12_打印1到最大的n位数(大数问题)
- 【剑指Offer面试题】 九度OJ1373:整数中1出现的次数(从1到n整数中1出现的次数)
- 剑指Offer面试题30(java版):最小的k个数
- 黑马程序员——Java中的一个关于参数传递的小问题
- 20个高级Java面试题汇总
- 黑马程序员——Java基础---IO(一)---IO流概述、字符流
- java---面试题---.java"源文件中可以包括多个类(不是内部类)
- 剑指Offer面试题29(java版):数组中出现次数超过一半的数字
- 如何在面试中发现优秀程序员
- 黑马程序员--IO流总述
- GNU Binary Utilities的笔记
- 黑马程序员-----Java基础-----数组!
- mysql基本语法及面试常见问题
- 程序员面试题目:Cracking the coding interview 分析与解答
- java面试基础120题及答案(无编程题)