Java基础语法(一)

*********************************成员变量*****************************

定义在类体内,方法体外的变量.....


public class Hello{


//一.成员变量
//1.静态变量
//static int a = 10;

//2.实例变量(非静态变量)
int b = 20;

public static void main(String[] args){


}
}

分类:


1. 静态变量


使用static修饰的成员变量叫做静态变量

2. 非静态变量(实例变量)

****************************静态代码块不能够访问非静态成员**********************

使用static来修饰的代码块叫做静态代码块


演示代码:

/**
作者: zhangzy<br>
公司: 蓝桥软件学院<br>
时间: 2017-06-21 下午
功能: 演示成员变量

*/
public class TestChengYuan{

//1.静态变量(类变量)
//static int a = 10;

//2.非静态变量(实例变量)

int b = 20;
public static void main(String[] args){

System.out.println(b);//编译报错 无法从静态上下文中 引用非静态的变量b

}
}

****************************同名的局部变量对成员变量的隐藏**********************

演示代码:

/**
作者: zhangzy<br>
公司: 蓝桥软件学院<br>
时间: 2017-06-21 下午
功能: 演示同名局部变量对成员变量的隐藏

*/
public class TestYinCang{

static int a = 10;

public static void main(String[] args){

int a = 20;

System.out.println(a);

}
}

*********************************变量按数据类型分*****************************

一.基本类型


二.引用类型

****************************************基本类型*****************************

2大类4小类8种


2大类: boolean 和 数值类型


4小类: boolean 和 整型、实型(浮点型)、字符型

8种


boolean


char

int long float double

byte short

1 2 4 8 4 8字节


****************************************boolean 布尔类型*****************************


只能用 true 和 false 来表示, 不能使用数值表示,例如0或1

true 真

false 假

c语言 0 false 非0的整数 真

****************************************char 字符型***********************************


1. 定义字符型变量 使用 ''

char c = 'a';

2. 面试题


***java中的char型 可以表示中文吗????


可以. java采用的是unicode编码, unicode编码 每个char类型占两个字节,2的16次方,65536种可能,

可以表示丰富的国际化文字..


3. 中文和英文都只能存一个

unicode编码 不管是表示中文还是英文都是使用2个字节来表示


4. char 类型的实质 是数值型

5. 转义字符


\n newLine 换行

\t tab 制表符


\r return 回车


演示代码:

/**
作者: zhangzy<br>
公司: 蓝桥软件学院<br>
时间: 2017-06-21 下午
功能: 演示转义字符

*/

public class TestZhuanYi{
public static void main(String[] args){
System.out.print("111");
System.out.print("\n");//\n 换行 \t tab 缩进 \r return 回车
System.out.print("222");


}
}


*********************************整型*****************************

int long
byte short

定义整型的时候, 右值默认是int类型

1. int

int a = 10;


2.long类型的定义


(1) 如果没有超过int的表数范围(-2的31次方 --------2的31次方-1 )可以加L也可以不加


long a = 10L;

long a = 10;


********************************宽转换************************************


long a = 10;//宽转换

boolean


char
int long float double
byte short


---------------------------------------------------------->宽转换


<----------------------------------------------------------窄转换


宽转换: 表数范围小的 赋值给表数范围大的叫做宽转换

特点: 安全的 自动的 不需要强制类型转换 就像把小瓶的可乐 倒进大桶的可乐里面 不会发生溢出问题


00010010 00010010 00010010 00010010
00000000 00000000 00000000 00000000 00010010 00010010 00010010 00010010


= 的实质是二进制位的拷贝 long a = 10;// 相当于把int类型的32位拷贝到long类型的低32中 肯定是没问题的


窄转换: 把表数范围大的 赋值给表数范围小的叫做窄转换...

特点: 不安全 不是自动的 可能会发生精度丢失 需要进行强制类型转换


long a = 10;

int b = a;//窄转换

窄转换的两种可能


(1) long类型数值不是很大 可以放到类型中


(2) 转换真正溢出的时候

********************************可以直接给byte short char赋值***********************************

short a = 10;// short<------int


********************************浮点类型***********************************


float 单精度

double 双精度


默认右值是 double类型


1. double类型


double d = 3.14;

2. float 类型

float f = 3.14;


****************************************引用类型***********************************


除了8种基本类型以外,其他的都属于引用类型


类、字符串、数组...

******************************************运算符*****************************


一.算数运算符


+ - * / % ++ --


++a 和a++的区别?


++a 先加后使用

a++ 先使用后加

二.关系运算符


> < >= <=


判断左右两边数值是否相等 ==

!= 不相等


= 赋值运算符

三.逻辑运算符


与 &&


或 ||


非 !


^ 异或 相同得0 不同得1

四.赋值运算符

=

五.字符串连接运算符

1.+ 表示算数加


2.+ 字符串连接


六.三目运算符


变量 = 表达式1 ? 表达式2:表达式3


表达式1的值 如果是true 整个结果 使用表达式2的值

如果表达式1 的值 是false 最终 返回 表达式3的值


******************************面试题 && 和 & 有什么区别??????******************************


&& 逻辑与 短路与 false 短路


表达式1&&表达式2 只要表达式1的结果是false 表达式2就不求了 这种运算叫做 短路运算

|| 逻辑或 短路或 true 短路

& 按位& 位运算 10&8 没有短路运算

*****************************************表达式******************************************

运算符 加上 操作数 组成的字符序列叫做表达式

10 + 20 算数表达式 int

a&&b 逻辑表达式 boolean


表达式的类型


******************************************数据类型和运算符回顾****************************


重点:

掌握变量的分类

一.按声明的位置分

1. 成员变量

(1) 静态变量

(2) 实例变量

2. 局部变量

(1)方法的形参 整个方法体

(2)方法体内的局部变量 声明的位置开始到方法体的结束


(3) 代码块中的局部变量 声明的位置开始到 代码块的结束

二.按照数据类型分

1. 基本类型

2大类4小类8种

2. 引用类型


除了这8种以外都叫引用类型

猜你喜欢

转载自www.cnblogs.com/MrTanJunCai/p/9906717.html
今日推荐