变量类型+运算符+转义字符+包装类型+类型转换

一、变量类型
 1、Java 局部变量:
  1)局部变量声明在方法、构造方法或者语句块中;被执行的时候创建,当它们执行完成后,变量将会被销毁。
  2)局部变量只在声明它的方法、构造方法或者语句块中可见;JVM中分配在栈上。
  3)局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
  
 2、成员变量(实例变量)
  1)实例变量声明在一个类中,但在方法、构造方法和语句块之外;当一个对象被实例化之后,每个实例变量的值就跟着确定;可以声明在使用前或者使用后。
  2)实例变量在对象创建的时候创建,在对象被销毁的时候销毁;访问修饰符可以修饰实例变量。
  3)实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息。
  4)实例变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见。
  5)实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定。
  6)实例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名:ObejectReference.VariableName。
 
 3、类变量(静态变量)
  1)类变量也称为静态变量,在类中以 static 关键字声明,但必须在方法之外。
  2)无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。
  3)静态变量除了被声明为常量外很少使用。常量是指声明为public/private,final和static类型的变量。常量初始化后不可改变。
  4)静态变量储存在静态存储区。经常被声明为常量,很少单独使用static声明变量。
  5)静态变量在第一次被访问时创建,在程序结束时销毁。
  6)与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为public类型。
  7)默认值和实例变量相似。数值型变量默认值是0,布尔型默认值是false,引用类型默认值是null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。
  8)静态变量可以通过:ClassName.VariableName的方式访问。
  9)类变量被声明为public static final类型时,类变量名称一般建议使用大写字母。如果静态变量不是public和final类型,其命名方式与实例变量以及局部变量的命名方式一致。
  
二、运算符

运算符表示含义
算术运算符+-*/基本运算
算术运算符%取余数,求模,算整除
算术运算符++   - -自增 自减
比较运算符==相等比较
比较运算符!=不等比较
连接运算符+字符串连接 “abc”+”xyz”=”abcxyz”
逻辑运算符&&   &逻辑与(短路与),两边同为真结果才为真
逻辑运算符|| |逻辑或(短路或),两边只要有一个真结果就是真
逻辑运算符非,非真是假,非假是真
三元运算符c ? x : y三项运算 c?x:y c是真取返回x,是假返回y
赋值运算符=赋值运算
赋值运算符+=、-=、*=、/=复合的赋值运算,a+=2; 等价于 a=a+2 写法简洁
优先执行( )小括号小括号中的先执行
x+y+z = 按顺序相加x+y+z
x+(y+z)= 优先括号内的先执行y+z+x

三、转义字符
Java语言支持一些特殊的转义字符序列。

符号字符含义
\n换行 (0x0a)
\r回车 (0x0d)
\f换页符(0x0c)
\b退格 (0x08)
\0空字符 (0x20)
\s字符串
\t制表符
"双引号
单引号
\反斜杠
\ddd八进制字符 (ddd)
\uxxxx16进制Unicode字符 (xxxx)

四、包装类型
 1、包装类:

序号类型名称基本类型包装类型父类
1字节型byteByteNumber
2短整型shortShortNumber
3整型intIntegerNumber
4长整型longLongNumber
5单精度浮点型floatFloatNumber
6双精度浮点型doubleDoubleNumber
7字符型charCharacterObject
8布尔型booleanBooleanObject

2、装箱拆箱
 1)装箱:将基本数据类型封装为包装类对象
  Integer i = 10;   //装箱,10整数,i是包装类型
  Integer i = new Integer(10);  //编译后
 2)拆箱:将包装类中包装的基本数据类型数据取出
  Integer i = 10;   //自动装箱
  int j = i;      //自动拆箱
  int j = i.intValue();  //编译后
  注:JDK1.5之后提供自动装箱拆箱,我们使用时可以互相赋值,代码简洁。


五、类型转换
在这里插入图片描述

1、小类型的变量赋值给大类型,自动转换。
  整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。
  转换从低级到高级。
  低 --------------------------------------------------------> 高
  byte,short,char—> int —> long—> float —> double

2、大类型的变量赋值给小类型,强制转换。
  语法:在变量前添加要转换的类型
  int int = -1;
  short s = (short) i;

注:
数据类型转换必须满足如下规则:

  1. 不能对boolean类型进行类型转换。
  2. 不能把对象类型转换成不相关类的对象
  3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
  4. 转换过程中可能导致溢出或损失精度,例如:
    int i =128;
    byte b = (byte)i;
    因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。
  5. 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:
    (int)23.7 == 23;
    (int)-45.89f == -45

面试题:
(答案见下一篇博客面试题部分)
1、(单选题)在字符串前面加上( )符号,则字符串中的转义字符将不被处理。

A.@

B.\

C.#

D.%

2、(单选题)下列程序的运行结果正确的是
int a = 5;
int b = ++a;
System.out.println(“a=”+a);
System.out.println(“b=”+b);

A.a=5,b=5

B.a=6,b=5

C.a=5,b=6

D.a=6,b=6

3、(单选题)编译运行以下程序后,关于输出结果的说明正确的是( )
publicclass Conditional{
publicstaticvoid main(String args[]){
int x=4;
System.out.println("value is "+ ((x>4) ? 99.9 : 9));
}
}

A.输出结果为:value is 99.99

B.输出结果为:value is 9

C.输出结果为:value is 9.0

D.编译错误


上篇面试题答案:
1.AC
2.ABCD
3.BCD


有一天无意中刷到的,就保存下来了。好可爱的小喵咪,花臂,大眼睛,还是一公一母,以后有条件了也想养。六一那天在学校里收了一只被人遗弃的小喵咪,毕业后留给学弟养了,现在也不知咋样了,国庆回学校看看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值