什么是变量?
变量是编程语言中最基本的概念,是计算机语言中能储存计算结果或能表示值抽象概念。
Java中的变量使用计算机的内存来保存数据,是保存数据的最小单位;变量在内存中开辟独立的空间,互不干扰。
数据类型
变量名规则
1. 变量名不能以数字开头,除了“_”、“$”、字母、数字,变量名中不能包含其他标点符号或运算符
2. 变量名不能使用Java语言中的关键字
3. 在同一作用域,变量名必须唯一
定义变量
数据类型 变量名 [=初始值] ;
public class D2 {
public static void main(String[] args) {
int a ;
a = 30 ; // 先定义变量 后赋值
short b = 40 ; // 在定义变量的同时对变量进行赋值
long x ,y ,z ; // 连续定义多个变量 中间用逗号隔开
byte i = 10 ,j = 20 ,k = 15 ; // 连续定义多个变量并赋值初始化
}
}
注:变量必须先定义声明后使用 ;变量未赋值不能使用
public class D1 {
public static void main(String[] args){
String name = "墨渐生微" ; // 保存姓名---字符串
char sex = '男' ; // 保存性别---字符
double height = 175.3 ; // 保存身高---浮点数
int age = 21 ; // 保存年龄---整型
boolean isMarry = false ; // 保存婚否---布尔型
}
}
输出变量
System.out.println(变量名) ;
Scanner类的使用:接收用户在控制台输入的信息
1.导入包中的类
2.创建Scanner对象
3.调用方法接收用户的输入
//1.导入类
importjava.util.Scanner;
/*
* Scanner类的基本使用
*/
public class D7 {
public static void main(String[] args) {
// 2.创建Scanner对象
Scanner input = new Scanner(System.in) ;
// 3.接收用户输入的整数
intnum = input.nextInt() ;
// 4.打印
System.out.println("用户输入的是:"+num);
}
}
Scanner类其他方法的调用
importjava.util.Scanner;
public class D8 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in) ;
// 接收整型
int num1 = input.nextInt() ;
// 接收浮点型
double num2 = input.nextDouble() ;
// 接收布尔型
boolean flag = input.nextBoolean() ;
// 接收字符串
String msg =input.next() ;
}
}
判断用户的输入
import java.util.Scanner;
public class D1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个整数:");
// 调用判断用户输入的值是否合法
boolean flag = input.hasNextInt(); // 判断用户输入的值是否是一个整数
// 接收用户输入的值,上处只是判断并未做任何处理
int num = input.nextInt();
}
}
注:Scanner类中的hasNextInt()方法和nextInt()方法配合使用;hasNextInt()方法判断输入是否合法,nextInt()接收输入的数据;单独调用其中任一个方法,都会让用户输入,但是配合使用并不会输入两次
数据类型转换
自动类型数据转换:1.数据类型要兼容 2. 目标类型高于源类型
强制类型转换:1.数据类型兼容 2.数据可能会丢失精度 3.浮点型转化为整型不是四舍五入,而是直接舍弃小数位
(目标类型)源类型
public class Data {
public static void main(String[] args) {
// 自动类型转换
int num1 = 66 ;
long num2 = num1 ;
double num3 = num2 ;
// 强制类型转换
double num4 = 23.66 ;
float num5 = (float) num4 ;
int num6 = (int) num5 ;
}
}
运算符
算术运算符
/*
* 算术运算符
*
* */
public class Num {
public static void main(String[] args) {
int a = 11, b = 3;
int num1 = a + b; // 加法
int num2 = a - b; // 减法
int num3 = a * b; // 乘法
int num4 = a / b; // 除法
int num5 = a % b; // 取余
// 加法还有拼接字符串与其他数值或字符串的功能
System.out.println("a+b="+num1+"\na-b="+num2+"\na*b="+num3+"\na/b="+num4+"\na%b="+num5);
/*
* 注:取余运算必须是整数,取余运算是作除法之后的余数,且值的正负只与被取余数的正负有关
* 除法是乘法的逆运算,除数与被除数都是整数,则商也是整数;除数与被除数有任一是浮点数,则商也是浮点数;
*/
}
}
public class D2 {
public static void main(String[] args) {
int a = 6, b = 7;
System.out.println(a++);
System.out.println(a);
System.out.println(++b);
System.out.println(b);
/*
* 注:自增自减运算符都是值增或减1,但是作为表达式却有不同的值。
* ++在前,先自增,后作为表达式的值
* ++在后,先作为表达式的值,后自增
* */
}
}
关系运算符
==:等于
!=:不等于
> :大于
< :小于
> = :大于等于
<= :小于等于
逻辑运算符
&& 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。
| | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。
! 称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true
则逻辑非运算符将得到false
注:短路功能—》在逻辑与运算时,前操作数为false,直接返回false,不再执行后操作数;在逻辑或运算时,前操作数为true,直接返回true,不再执行后操作数
注:关系运算符和逻辑运算符都能返回boolean类型的结果
位运算符
& 按位与,也具有逻辑与的功能,但不具备短路功能
| 按位或,也具备逻辑或的功能,但不具备短路功能
赋值运算符
= : 赋值运算符,将右操作数的值赋给左侧操作数
+= : 加和赋值操作符
-= : 减和赋值操作符,
*= : 乘和赋值操作符
/= : 除和赋值操作符
%= : 取余和赋值操作符
例:a %= b ; 等价于 a = a%b ;
优先级别:
算数 > 关系 > 逻辑 > 赋值
其他运算符
条件运算符( ? : )
条件运算符也被称为三元运算符、三目运算符
详见下章!