java入门基础
-
注释、标识符、关键字
-
数据类型
-
类型转换
-
由于Java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换
低 -----------------------------> 高 byte,short,char-> int -> float -> double
-
运算中,不同类型的数据先转换为同于类型,然后进行运算
-
强制转换、自动类型转换
- 1、转换
*自动类型转换(也叫隐式类型转换) ,其实就是小范围的数据类型向大范围的数据类型转换,例如int类型转long
*强制类型转换(也叫显式类型转换) int b = (int)(i + j);
*强制类型转换在某种情况下会丢失精度
*表达式的数据类型自动提升
2、进行四则运算时
a、所有的byte型、short型和char的值将被提升到int型
b、如果一个操作数是long型,计算结果就是long型
c、如果一个操作数是float型,计算结果就是float型
d、如果一个操作数是double型,计算结果就是double型
e、如果一个操作数是String型,计算结果就是String型
-
面试陷阱1
byte b1 = 10; byte b2 = 20; //错误: 不兼容的类型: 从int转换到byte可能会有损失 //否则,两个操作数都将转换为int类型。 byte b3 = b1 + b2 //错误,b1+b2是int类型,java的整数默认类型为int,b3是byte类型,二者类型不同,所以出错 byte b3 = (byte)(b1 + b2); //正确
- 面试陷阱2
short s1 = 10; s1 = s1 + 12; //错误: 不兼容的类型: 从int转换到short可能会有损失 short s2 = 10; s2 += 12; // 等同于short s2 = (short)(s2 + (short)1); //正确
-
-
变量、常量
-
变量
-
什么是变量:变量就是可以变化的量
-
Java是一种强类型语言,每个变量都必须声明其类型
-
Java变量是程序最基本的储存单元,其要素包括变量名,变量类型和作用域
-
注意事项
- 每个变量都有自己的类型,也可以是引用类型
- 每个变量名必须是合法的标识符
- 变量名声明是一条完整语句,因此每一个都必须以分号结束
-
变量作用域
-
类变量
-
实例变量
-
局部变量
public class a{ static int allClicks = 0; //类变量 String str = "hello world"; //实例变量 public void method(){ int i = 0; //局部变量 } } //实例变量:从属于对象;如果不自行初始化,这个类型的默认值0 0.0 //布尔值:默认值是false //除了基本类型,其他的默认值都是null
-
-
-
常量
-
关键字final表示这个变量只能被赋值一次。一旦被赋值以后,就不能够在更改了。习惯上,常量名使用全大写。
在Java中,经常希望某个常量可以在一个类中的多个方法中使用,通常将这些常量称之为类常量,例如:
public static final BLANK = "black";
-
-
-
运算符
操作符 | 描述 | 例子 |
---|---|---|
+ | 加法 - 相加运算符两侧的值 | A + B 等于 30 |
- | 减法 - 左操作数减去右操作数 | A – B 等于 -10 |
* | 乘法 - 相乘操作符两侧的值 | A * B等于200 |
/ | 除法 - 左操作数除以右操作数 | B / A等于2 |
% | 取余 - 左操作数除以右操作数的余数 | B%A等于0 |
++ | 自增: 操作数的值增加1 | B++ 或 ++B 等于 21 |
– | 自减: 操作数的值减少1 | B-- 或 --B 等于 19 |
操作符 | 描述 | 例子 |
---|---|---|
& | 如果相对应位都是1,则结果为1,否则为0 | (A&B),得到12,即0000 1100 |
| | 如果相对应位都是0,则结果为0,否则为1 | (A | B)得到61,即 0011 1101 |
^ | 如果相对应位值相同,则结果为0,否则为1 | (A ^ B)得到49,即 0011 0001 |
〜 | 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 | (〜A)得到-61,即1100 0011 |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数。 | A << 2得到240,即 1111 0000 |
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数。 | A >> 2得到15即 1111 |
>>> | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 | A>>>2得到15即0000 1111 |
操作符 | 描述 | 例子 |
---|---|---|
+ = | 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 | C + = A等价于C = C + A |
- = | 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 | C - = A等价于C = C - A |
* = | 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 | C * = A等价于C = C * A |
/ = | 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 | C / = A等价于C = C / A |
(%)= | 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 | C%= A等价于C = C%A |
<< = | 左移位赋值运算符 | C << = 2等价于C = C << 2 |
>> = | 右移位赋值运算符 | C >> = 2等价于C = C >> 2 |
&= | 按位与赋值运算符 | C&= 2等价于C = C&2 |
^ = | 按位异或赋值操作符 | C ^ = 2等价于C = C ^ 2 |
| = | 按位或赋值操作符 | C | = 2等价于C = C | 2 |
操作符 | 描述 | 例子 |
---|---|---|
&& | 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 | (A && B)为假。 |
| | | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 | (A | | B)为真。 |
! | 称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 | !(A && B)为真。 |
-
包机制、JavaDOC
包机制
-
为了更好地组织类, Java 提供了包机制,用于区别类名的命名空间。
-
包语句的语法格式为:
package pkg1[. pkg2[. pk3.]]; 1
-
一般利用公司域名倒置作为包名:例如: www.baidu.com com.baidu.www
-
为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用"import"语句可完成此功能
import package1[ . package..]. (classname |*);
javaDoc
javadoc命令是用来生成自己的API文档的
参数信息:
@author 作者名
@version版本号
@since指明需要最早使用的jdk版本
@param参数名
@return 返回值情况
@throws异常抛出情况
-
包名:使用小写字母。
类名和接口名:通常定义为由具有含义的单词组成,所有单词的首字母大写。
-
所有变量、方法、类名:见名知意
-
变量名(类成员变量、局部变量):lastname lastName成员变量和方法相同,局部变量全部使用小写。
-
常量名:MAX_VALUE全部使用大写,最好使用下划线分割单词。
-
方法名:run(),runRun() 通常也是由具有含义的单词组成,第一个单词首字母小写,其他单词的首字母都大写。