文章目录
- 一. 常量与变量
- 1.1 常量
- 1.2 变量
- 二. 基本运算
- 2.1 四则运算
- 2.2 位运算
- 2.3 逻辑运算
- 2.4 三目运算
- 2.5 运算过程中的类型转换
- 2.5.1 字面值
- 2.5.2 强制类型转换
本文为作者本人学习过程中整理的笔记,可帮助读者快速入门与快速回顾JAVA的一些基础知识。
一. 常量与变量
进行运算之前,我们首先要区分常量与变量。
1.1 常量
常量就是不变的量,通常被final修饰。
同时被static final 修饰的常量叫静态常量。
常量的命名通常为大写。
例如,我们通过阅读源码可得知基本类型的常量是静态常量:
/**
* A constant holding the maximum value a {@code long} can
* have, 2<sup>63</sup>-1.
*/
@Native public static final long MAX_VALUE = 0x7fffffffffffffffL;
1.2 变量
变量类型 变量名 = 变量值;
变量名通常为小写。
举个栗子:
// 以下定义一个变量
int variable = 9;
System.out.println(variable);
//如果定义变量的时候没有初始化,必须在后面为其赋值。
int var;
var = 8;
System.out.println(var);
二. 基本运算
我们主要用基本数据类型来进行基本运算的学习与练习。
2.1 四则运算
运算 | 符 |
加 | + |
减 | - |
乘 | * |
除 | / |
取余自增自减
运算 | 符 |
取余(求模) | % |
自增 | ++ |
自减 | - - |
自增自减在变量前后的区别
根据编译方式的不同,是有区别的。
在JAVA中,自增自减放在变量前后的区别可以由程序体现:
public class Calculate {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 1;
int j = 1;
int a = i++;
int b = ++j;
System.out.println(a+" "+b);
}
a 相当于是 a = i; i++; 先赋值后运算
b 相当于是 j++; b = j; 先运算后赋值
2.2 位运算
位运算主要针对的是二进制的数据,日常开发直接用得比较少。
用到的时候再去查表也好像没什么毛病,这里先不做总结。
有空可以去了解一下。
2.3 逻辑运算
关系 | 符号 |
大于 | > |
大于等于 | >= |
小于 | < |
小于等于 | <= |
相等 | == |
不等 | != |
符号 | 简介 |
& | 长路与 |
&& | 短路与 |
| | 长路或 |
|| | 短路或 |
! | 非 |
^ | 异或 |
长路符号前后的条件都会进行运算,短路则条件达成便不再进行后面的运算
2.4 三目运算
运算符 | 简介 |
[1] ? [2] : [3] | 表达式1成立则返回表达式2的结果,否则返回3的结果 |
public class TernaryOperator {
/**小练习,当例子。输入1~7,判断是否为工作日*/
public static void main(String[] args) {
// TODO Auto-generated method stub
IsWeekend();
}
public static void IsWeekend() {
Scanner sc = new Scanner(System.in);
System.out.println("Please scan 1 to 7");
int input = sc.nextInt();
if(1 <= input && 7 >= input) {
String day = input >=6 ? "Weekend" :"WorkingDay";
System.out.println(day);
}else{
System.out.println("Scan worng, please reScan");
IsWeekend();
}
}
}
2.5 运算过程中的类型转换
2.5.1 字面值
当我们为某个类型的变量赋值时,赋的值会有个默认的字面值。
当字面值与类型匹配不上时,我们就要加上后缀。
1) 整数类型的字面值是int:
2) 浮点数的字面值是float:
2.5.2 强制类型转换
在实现一些运算时,我们需要进行强制类型转换。较大的类型转换成小类型时,可能会出现精度丢失。
变量类型 变量名 = (强制转换成为的类型) 被强转的变量名;
强制转换类型也叫显式转换。
相应地,也有隐式转换类型:
隐式转换不需要加任何操作,自动完成,因此称为隐式转换。
举个例子:
//隐式转换
int i = 1;
float f = i;
double d = f;