菜鸟学习笔记:Java基础篇2
变量
基本概念
学过C语言的同学对变量这个概念应该不陌生,它是程序中最基本的存储单元,其要素包括变量名、变量值和作用域。
int a, b, c; // 声明三个int型整数:a、 b、c
int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值
String s = "apple"; // 声明并初始化字符串 s
double pi = 3.14159; // 声明了双精度浮点型变量 pi
char x = 'x'; // 声明变量 x 的值是字符 'x'。
在Java中对变量有几点需要注意一下:
- Java是一种强类型语言,声明变量时必须定义好类型。
- 变量名必须合法。
- 按变量存储值类型划分可以把变量分为基本类型变量和引用类型变量。
变量作用域
对于在作用域里定义的变量,作用域同时决定了它的“可见性”以及“存在时间”。在JAVA里,作用域是由花括号的位置决定的。JAVA用一对大括号作为语句块的范围,称为作用域,在作用域里定义的变量,只有在该作用域结束之前才可使用。 在JAVA中,变量的作用域分为四个级别:类级、对象实例级、方法级、块级。
类变量也称为静态变量,对应类级作用域,在类中通过static关键字修饰。一个类对应一份类变量,在完成类加载后类变量就存在,不需要实例化类就可以使用,可以通过类名直接访问。
成员变量也称为实例变量,对应对象实例级作用域。它是在对应类实例化一个对象后才会存在,随着对象的销毁而销毁,通过对象名进行访问。
局部变量就是方法中定义的变量,随着方法的执行而创建,在方法结束后立即销毁。
public class test{
static int iClassVariables=0; // 类变量
String str="hello"; // 成员变量
public void method(){
int i =0; // 局部变量(方法级)
if(i==0){
int j = 1; // 局部变量(块级)
}
}
}
变量作用域这一块涉及到很多面向对象方面的知识,如果没有相关基础可以先记一下,等学完面向对象后再回来巩固就很简单了。
final关键字
可以在变量定义时用final进行修饰,表示该变量仅可以赋值一次。
final double PI = 3.1415926; // 之后对pi值进行修改会报错
通常用来定义程序中所用到的常量,并且习惯上变量名用大写字母表示,多个字母之间用’_'隔开。
final double MAX_SIZE = 500;
运算符
算术运算符
操作符 | 名称 | 描述 |
---|---|---|
+ | 加法 | 相加运算符两侧的值 |
– | 减法 | 左操作数减去右操作数 |
* | 乘法 | 相乘操作符两侧的值 |
/ | 除法 | 左操作数除以右操作数 |
% | 取余 | 左操作数除以右操作数的余数 |
++ | 自增 | 操作数的值增加1 |
— | 自减 | 操作数的值减少1 |
加减乘除取余操作很好理解,自增自减操作分为前缀自增自减法(++a,–a)和 后缀自增自减法(a++,a–)两种,前者先进行自增或者自减运算,再进行表达式运算,而后者先进行表达式运算,再进行自增或者自减运算 。
public static void main(String[] args){
int a = 5;//定义一个变量;
int b = 5;
int x = 2*++a; //a先自增为6,然后参与运算,x为12
int y = 2*b++; //b先参与运算,在自增为6,y为10
}
比较运算符
操作符 | 名称 | 描述 |
---|---|---|
> | 大于 | 相加运算符两侧的值 |
< | 小于 | 左操作数减去右操作数 |
== | 等于 | 相乘操作符两侧的值 |
>= | 大于等于 | 左操作数除以右操作数 |
<= | 小于等于 | 左操作数除以右操作数的余数 |
!= | 不等于 | 操作数的值增加1 |
比较运算符的返回值为boolean类型的值,表达式成立为true,不成立为false,比较简单这里不再赘述。
逻辑运算符
操作符 | 名称 | 描述 |
---|---|---|
&& | 逻辑与 | 当且仅当两个操作数都为真,条件才为真。 |
|| | 逻辑或 | 如果任何两个操作数任何一个为真,条件为真。 |
! | 逻辑非 | 用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false |
与比较运算符相同返回值为boolean类型的值,这里不再赘述。注意逻辑与与逻辑或采用短路的方式,如果确定值则不会在计算下去。
boolean c = 1>2 && 2>(3/0); //1>2为false,与运算结果为false,不再执行后面的语句,所以不会抛出异常。
位运算符
操作符 | 名称 | 描述 |
---|---|---|
& | 按位& | 如果相对应位都是1,则结果为1,否则为0 |
| | 按位或 | 如果相对应位都是0,则结果为0,否则为1。 |
^ | 异或 | 如果相对应位值相同,则结果为0,否则为1 |
~ | 按位取反 | 翻转操作数的每一位,即0变成1,1变成0。结果为: -(X+1) |