一. 数据类型
数据类型 | 说明 | 举例 |
---|---|---|
int | 整型 | 用于存储整数,比如,学员人数等等 |
double | 双精度浮点型 | 用于存储带有小数的数字,比如,商品价格 |
char | 字符型 | 用于存储单个字符,比如,性别的“男” 或 “女” |
String | 字符串型 | 用于存储一串字符,比如,员工的姓名 |
二. 变量的声明及使用
1.程序运行的过程中,将数值通过变量加以存储,以便程序随时使用,整个步骤如下:
(1). 根据数据的类型在内存中分配一块内存空间,并给它起名,即“变量名”.
(2). 将数据存储到这块内存中
(3). 通过变量名从内存中取出数据使用
2.如何定义和使用变量
(1). 声明变量,即“根据数据类型在内存中申请一块空间”
//语法
数据类型 变量名;
//示例
double score; // 声明双精度浮点型变量 score 存储分数
String name; // 声明字符串型变量 name 存储学生姓名
char sex; // 声明字符型变量 sex 存储性别
(2). 给变量赋值,即“将数据存储至相应的内存空间”
//语法
变量名 = 值;
//例如:
score = 98.5; // 存储 98.5
name = "张三"; // 存储 “张三”
sex = '男'; // 存储 '男'
(3). 调用变量
System.out.println(score); //从控制台输出变量 score 存储的值
System.out.println(name); //从控制台输出变量 name 存储的值
System.out.println(sex); //从控制台输出变量 sex 存储的值
使用声明的变量名,就是在使用变量对应的内存空间中存储的数据
变量都必须先声明和赋值后才能使用
示例:
public class MyVariable
{
public static void main(String[] args)
{
int money = 1000; //定义并初始化变量money的值 System.out.printfln(money); //显示存储的数据的值
}
}
三. 变量命名规则
1. 变量必须以字母、下划线 “_” 或 “$” 符号开头.
2. 变量可以包括数字,但不能以数字开头.
3. 除了 "_" 或 "$" 符号外,变量名不能包含任何特殊字符.
4. 不能用Java语言的关键字,比如 int、class、public 等.
规范:
变量名要简短且能清楚地表明变量的作用,通常第一个单词的首字母小写,其后单词的首字母大写。例如:
int ageOfStudent; //学生年龄
int ageOfTeacher; //教师年龄
四. 常见错误
1. 变量未赋值先使用
// 常见错误1
public class Error1
{
public static void main(String[] args)
{
String title; // 声明变量 title 存储课程名称
System.out.println(title); // 从控制台输出变量的值
}
}
上面这段代码,由于未赋值就使用,编译器会提示编译错误。
排错方法:使用前要给变量赋值
2. 使用非法的变量名
// 常见错误2
public class Error2
{
public static void main(String[] args)
{
int $hour = 18; // 声明变量 hour 存储学时
System.out.println($hour); // 从控制台输出变量的值
}
}
上面这段代码,由于变量名不符合规则,编译时编译器将提示错误
排错方法:修改不合法的变量名
3. 变量名不能重名
// 常见错误3
public class Error3
{
public static void main(String[] args)
{
String name = "张三"; // 声明变量存储 "张三"
String name = "李四"; // 声明变量存储 "李四"
}
}
上面这段代码,由于变量名重复,编译时会提示“局部变量 name 重复”
排错方法:修改使用两个不同的变量名来存储
五. 运算符与输入语句
1. 赋值运算符 "=" "="可以将某个数值赋给变量,或是将某个表达式的值赋给变量
2. 算术运算符
运算符 | 说明 | 举例 |
+ | 加法运算符,求操作数的和 | 5+3 等于 8 |
- | 减法运算符,求操作数的差 | 5-3 等于 2 |
* | 乘法运算符,求操作数的乘积 | 5*3 等于 15 |
/ | 除法运算符,求操作数的商 | 5/3 等于 1 |
% | 求余运算符,求操作数相除的余数 | 5%3 等于 2 |
示例:
import java.util.Scanner;
public class ScoreStat
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("STB的成绩是:");
int stb = input.nextInt(); // STB 分数
System.out.println("Java的成绩是:");
int java = input.nextInt(); // Java 分数
System.out.println("SQL的成绩是:");
int sql = input.nextInt(); // SQL 分数
int diffen; // 分数差
double avg; // 平均分
System.out.println("------------------------------");
System.out.println("STB\tJava\tSQL");
System.out.println(stb + "\t" + java + "\t" + sql);
System.out.println("------------------------------");
diffen = java - sql; // 计算 Java 课和SQL课的成绩差
System.out.println("Java 和 SQL 的成绩差:" + deffin);
avg = (stb + java + sql) / 3; //计算平均分
System.out.println("3 门课的平均分是:" + avg);
}
}
3. 从控制台输入一个整数
Scanner input = new Scanner(System.in);
int stb = input.nextInt();
这两行代码做的事情就是通过键盘的输入得到STB的成绩。这里获取的是整型变量,所以调用nextInt()方法。如果获取的是字符型变量,需要调用next()方法。
使用该功能,需要在Java源代码中导入相应的包:
import java.util.Scanner;
// 或者 import java.util.*;
4. 自增自减运算符
自加运算符 ++
自减运算符 --
例如:
int num1 = 3;
int num2 = 2;
num1++;
num2--;
这里,"num1++" 等价于 "num1 = num1 + 1", "num--" 等价于 "num2 = num2 - 2"
六. 数据类型转换
1.自动数据类型转换
(1). 如果一个操作数为 double 型,则整个表达式可提升为 double 型
(2). 满足自动类型转换的条件
(2.1) 两种类型要兼容:数值类型(整型和浮点型)互相兼容。
(2.2) 目标类型大于源类型:double型可以存放int型数据,因为double型变量分配的空间宽度足够存储int型变量,因此,我们也把int型变量转换成double型变量形象地成为“放大转换”、
2.强制类型转换
// 语法
(数据类型)表达式
double a = 12.3456;
int b = (int)d;
强制类型转换往往是从宽度大的类型转换成宽度小的类型,使数值损失了精度,因此可以形象地称这种转换为"缩小转换"
七. 总结
1. 变量时一个数据存储空间的表示,它是存储数据的基本单元.
2. Java中常用的数据类型有整型(int) 、双精度浮点型(double) 、字符型(char) 和 字符串型(String).
3. 变量要先声明并赋值,然后才能使用.
4. Java提供各种类型的运算符,具体如下
(1). 赋值运算符 (=) .
(2). 算术运算符(+ 、- 、* 、/ 、%) .
5. 数据类型转换时为了方便不同类型的数据之间进行运算.
6. 数据类型转换包括自动类型转换和强制类型转换,发生自动类型转换必须符合一定的条件.
7. Java 提供 Scanner 类可以实现从控制台获取键盘输入的信息.