- 一、变量
- 含义
- 命名规则
- 二、Java常用数据类型
- 常用的数据类型
- 合理使用数据类型
- 三、变量和变量的使用
- 四、Scanner的使用
- Scanner的声明及使用步骤
- Scanner接受用户键盘输入
- 五、数据类型的转换
- 强制类型转换
- 自动类型转换
- 六、赋值运算符
- 七、算术运算符
- 基本的算术运算符
- 复合算术运算符
- 综合运用算术运算符
- 八、关系运算符&逻辑运算符
- 关系运算符
- 逻辑运算符
- 九、条件运算符&运算符优先级
- 条件运算符
- 运算符优先级
一、变量 含义
变量实际就是一个数据存储空间的表示
命名规则1)字、下、美、人、数、骆驼有意义
以字母、下划线、美元符、人民币符号开头,名称可以有字母、下划线、美元符、人民币符号、数字;
驼峰命名规则:有多个单词,首字母小写,其后每个单词首字母大写,如myFirstName;
变量命名要有意义,避免使用诸如aaa、bbb等,这样也便于他人阅读代码
2)不能使用关键字,如public、class
二、Java常用数据类型 常用的数据类型
1)数值型
整型:int
浮点型:double、float
2)非数值
char、boolean、String
String 不是基本数据类型,是引用数据类型,是Java提供的一个类(记住就行)
(八种基本数据类型,不必死记硬背)
例如:
//输出个人简历:姓名、性别、年龄、考试分数
public class PrintInfo{
public static void main(String[] args){
//使用变量存储
//(1)判断变量数据类型:姓名String 性别char 年龄int 考试分数double
//(2)给变量取名:姓名name、 性别sex、 年龄age、 考试分数score
三、变量和变量的使用
- 第一步:声明变量,根据数据类型在内存申请空间
数据类型 变量名;如int money;
- 第二步:赋值,即“将数据存储至对应的内存空间”
变量名 = 数值;如money = 1000;
- 第一步和第二步可以合并
数据类型 变量名 = 数值;如int money = 1000;
- 第三步:使用变量,即“取出数据使用”
练习1:
//输出个人简历:姓名、性别、年龄、考试分数
public class PrintInfo{
public static void main(String[] args){
//使用变量存储
//(1)判断变量数据类型:姓名String 性别char 年龄int 考试分数double
//(2)给变量取名:姓名name、 性别sex、 年龄age、 考试分数score
//(3)使用变量 数据类型 变量名 = 值;
String name = "张三";
char sex = '男';
int age = 19;
double score = 98.5;
System.out.println("姓名:"+name);//+ :字符串连接
System.out.println("性别:"+sex);
System.out.println("年龄:"+age);
System.out.println("分数:"+score);
}
}
+号表示字符串连接,与c语言的输出格式有区别
练习2:
//计算圆的面积:半径*半径*PI
public class MathCalc{
public static void main(String[] args){
//常量表示:关键字final
double radius = 1.5;
final double PI = 3.14;
double area = radius * radius * PI;
System.out.print("圆的面积是"+area);
}
}
有变量就有不变量,不变量就叫常量,常量如何表示?加上关键字final
注:
1)常量名通常大写
2)不同字符使用下划线分隔
3)只能被赋值一次,定义即初始化
四、Scanner的使用 Scanner的声明及使用步骤
第一步:导入Scanner类
import java.util.*;
第二步:创建Scanner对象
Scanner input = new Scanner(System.in);
第三步:获取键盘输入的数据
Scanner接受用户键盘输入int now = input.nextInt();
练习:
//通过键盘录入的方式灵活输入数据
//(2)导入Scanner
import java.util.*;
public class PrintInfo2{
public static void main(String[] args){
//(1)首先定义一个通过键盘录入的入口--Scanner
Scanner input = new Scanner(System.in);
//(3)接受用户的键盘录入
System.out.print("请输入姓名:");
String name = input.next(); //输入格式,相当于c语言的printf;
System.out.print("请输入性别:");
String sex = input.next();
System.out.print("请输入年龄:");
int age = input.nextInt();
System.out.print("请输入分数:");
double score = input.nextDouble();
System.out.println("--------------------");
System.out.println("姓名:"+name);//+ :字符串连接
System.out.println("性别:"+sex);
System.out.println("年龄:"+age);
System.out.println("分数:"+score);
}
}
五、数据类型的转换 强制类型转换
格式:(转换的数据类型)(待转数据);
如(int)3.1、(int)(4.5+7.9);
//计算苹果笔记本的销售额
//去年销售额:20,今年比去年增长了9.8
public class AppleSale{
public static void main(String[] args){
int before = 20;
//java中默认浮点数类型是double,如果需要申明为float类型,则需要在数字后面添加f
// float rise = 9.8f;
double rise = 9.8;
//int和double运算的结果为double型
double result = before + rise;
System.out.println("今年苹果笔记本的销售额为:"+result);
//强制类型转换(将rise强转为int型)-->但会造成数据精度丢失
int result2 = before + (int)rise;
System.out.println("今年苹果笔记本的销售额为:"+result2);
//方式二,将计算结果强转
int result3 = (int)(before + rise);
System.out.println("今年苹果笔记本的销售额为:"+result3);
}
}
自动类型转换
规则1:如果一个操作数是double型,则整个表达式可提升为double型
规则2:满足自动类型转换的条件
(1)两种类型要兼容,比如数值类型之间相互兼容,而数值与字符之间不兼容
(2)目标类型大于源类型,例如double型大于int型
六、赋值运算符
=
变量名 = 表达式/值
右侧表达式的值赋给左侧变量
七、算术运算符 基本的算术运算符
+、-、*、/、%、++、–
前四个为加减乘除,%是取余符号,++表示自增,–表示自减
注1:当两个数值变量之间使用+,表示的是两个数值相加;当数值变量与字符串变量之间使用+号,表示的是连接
//算术运算符的使用
public class CalcOpr{
public static void main(String[] args){
int num1 = 5;
int num2 = 2;
System.out.println(num1+num2); //7
String num3 = "5";
int num4 = 2;
System.out.println(num3+num4); //52
}
}
注2:/表示取商,%表示取余
public class CalcOpr{
public static void main(String[] args){
int num3 = 5;
int num4 = 2;
System.out.println(num3/num4); //2
System.out.println(num3%num4); //1
}
}
注3:++、–在变量之前表示先加(减)再用;放在变量之后表示先用再加(减)
和C语言一样的
public class CalcOpr{
public static void main(String[] args){
//自加++ 自减--
int num1 = 5;
int num2 = 2;
System.out.println(++num1);//6
System.out.println(--num2);//1
System.out.println(num1);//6
System.out.println(num2);//1
int num3 = 5;
int num4 = 2;
System.out.println(num3++);//5
System.out.println(num4--);//2
System.out.println(num3);//6
System.out.println(num4);//1
}
}
复合算术运算符
综合运用算术运算符+=、-=、*=、/=、%=
以+=为例,num += 2 —>num = num +2,其他一样
需求说明:
1)键盘输入四位数的会员卡号
2)使用“/”和“%”运算符分解会员卡号各个位上的数字
3)将各个位上的数字求和
import java.util.Scanner;
public class LuckCard2{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("请输入会员卡号:");
int cardNo = input.nextInt();
System.out.print("您的会员卡号为:"+cardNo);
int geWei = cardNo % 10;
int shiWei = cardNo / 10 % 10;
int baiWei = cardNo / 100 % 10;
int qianWei = cardNo /1000;
System.out.println("n千位:"+qianWei+"t百位:"+baiWei+"t十位:"+shiWei+"t个位:"+geWei);
int sum = geWei + shiWei + baiWei + qianWei;
System.out.println("各位数字之和为:"+ sum);
}
}
八、关系运算符&逻辑运算符 关系运算符
逻辑运算符(1) =为赋值运算符,==为等于运算符
(2)关系表达式的结果为布尔值
(3)>、<、>=、<=运算符的优先级高于 ==、 !=
(4)>、<、>=、<=运算符只支持数值类型的数据比较
如果几个逻辑运算符同时使用,第一个操作数已经能确定表达式的值,第二个操作数就不必计算了;
优先级:!> && > ||
九、条件运算符&运算符优先级 条件运算符
条件 ? 表达式1 : 表达式2
条件判断为真,则执行表达式1;为假则执行表达式2
也称为三目(三元)运算符
练习:判断是否为偶数
import java.util.Scanner;
public class IsEven{
//判断一个数是否为偶数
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("请输入一个数:");
int num = input.nextInt();
String result = (num%2==0) ? "偶数":"奇数";
System.out.println(num+"是"+result);
}
}
运算符优先级
(1)单目运算符包括!、++、–优先级别高;
(2)优先级别最低的是赋值运算符;
(3)可以通过()控制表达式的运算顺序,()优先级最高;
(4)从右向左结合性的只有赋值运算符、三目运算符和单目运算符;
(5)算术运算符>关系运算符>逻辑运算符
大致了解即可



