文章目录
- 1 数据类型
- 1.1 前言
- 1.1.1 标识符
- 1.1.2 关键字
- 1.1. 3 注释
- 1.1.4 变量
- 1.1.5 常量
- 1.2 基本类型(八种)
- 2 运算符
- 3 练习题
- 3.1 圆形面积
- 3.2 变量交换
- 3.3 平年闰年
- 3.4 自增自减
- 3.5 三个数的最大值
1 数据类型
1.1 前言
1.1.1 标识符
可以简单的理解为一个名字。
在Java中,我们需要标识代码的很多元素,包括类名、方法、字段、变量、包名等。我们选择的名称就称为标识符,并且遵循以下规则:
A. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符。
B. 不能以数字开头。
C. 标识符是严格区分大小写的。
D. 标识符的命名最好能反映出其作用,做到见名知意。
1.1.2 关键字
在java语言中已经被赋予特定意义的一些单词。一共有53个关键字。
其中有两个保留字:const和goto。
关键字不能被用作标识符!!
1.1. 3 注释
Java代码的解释说明。不影响程序的运行,用于辅助读程。
//单行注释
/* 多行注释 */
/** 文档注释 */
1.1.4 变量
在JAVA中,有的数据值是不固定的,总在变,我们还需要记录这些值,我们可以把这些值理解为变量。
我们通过三个元素来描述变量:变量类型,变量名以及变量值。
int age=18; //声明int类型的变量并赋值
String tel; //声明String类型的变量
注意:
1、变量名必须是一个有效的标识符。
2、变量名不可以使用java关键字
3、变量名不能重复
1.1.5 常量
在程序运行过程中一致不会改变的量成为常量。
1.2 基本类型(八种)
类型名称 | 字节空间 | 范围 | |
整数型 | byte | 1 | -27到27-1 或者 -128到127 |
short | 2 | -215到215-1 | |
int | 4 | -231到231-1 | |
long | 8 | -263到263-1 | |
浮点型 | float | 4 | 单精度,对小数部分的精度要求不高 |
double | 8 | 双精度,精确的小数部分并操作值很大时 | |
字符 | char | 2 | 0到65535 |
布尔 | boolean | 1 | 真true 假false |
2 运算符
算术运算符 | + - * / | 基本运算 |
% | 取余数,求模,算整除 | |
++ – | 自增 自减 | |
比较运算符 | == | 相等比较 |
!= | 不等比较 | |
逻辑运算符 | && & | 逻辑与(短路与),两边同为真结果才为真 |
|| | | 逻辑或(短路或),两边只要有一个真结果就是真 | |
+ | 字符串连接 | |
! | 非,非真是假,非假是真 | |
三元运算符 | ?: | 三项运算 1?2:3 1是真取2,1是假取3 |
赋值运算符 | = | 赋值运算 |
+= -= *= /= | 复合的赋值运算 a+=2;//a=a+2 |
3 练习题
3.1 圆形面积
//求圆面积
public class Test1_Area {
public static void main(String[] args) {
//1、定义变量记录半径
//double r = 10.1;//写死了
//动态接收键盘输入的值
double r = new Scanner(System.in).nextDouble();
//2、带入公式算结果
double result = 3.14*r*r;
//动态拼接字符串:+
System.out.println("圆的面积是"+result);
}
}
3.2 变量交换
//测试变量交换
public class Test2_Exchange {
public static void main(String[] args) {
//1、接收键盘输入的两个整数a和b
int a = new Scanner(System.in).nextInt();
int b = new Scanner(System.in).nextInt();
//2、交换
int c = a ;//定义c,记录a的值
a = b ;//b的值给a
b = c ;//把c的值给b
//3、打印a和b的值
System.out.println(a);
System.out.println(b);
}
}
3.3 平年闰年
输入年号,判断是否是闰年。
两个条件:
1、能被4整除,并且不能被100整除
2、能被400整除
//测试平年闰年
public class Test3_RunNian {
public static void main(String[] args) {
//1、接收用户输入的年号
int year = new Scanner(System.in).nextInt();
//2、判断year是平年还是闰年
String desc = "平年";//设置默认值就是平年
//if((小判断条件1 && 小判断条件2) || 大判断条件2){ 修改desc的值为闰年 }
if(( year%4==0 && year%100 != 0 ) || year%400 == 0 ){
desc="闰年";
}
// System.out.println("2000年是闰年");
//+拼接字符串
System.out.println(year+"年是"+desc);
}
}
3.4 自增自减
//测试自增++自减--
public class Test4_ZiZeng {
public static void main(String[] args) {
//符号在前,先变化后使用
//符号在后,先使用再变化
int a = 1;
System.out.println(a++);//1
int b = 1;
System.out.println(++b);//2
System.out.println(++b+a+b++);//8,3+2+3
//TODO 自减
int m = 1;
System.out.println(m--);//1
int n = 1;
System.out.println(--n);//0
System.out.println(--m-n-m--);//0,-1-0-(-1)
}
}
3.5 三个数的最大值
//三元运算符
public class Test5_Max {
public static void main(String[] args) {
//接收键盘输入的,三个数,取出最大值
int m = new Scanner(System.in).nextInt();
int n = new Scanner(System.in).nextInt();
int o = new Scanner(System.in).nextInt();
//--------------------------------------------------
//方法一
//1、定义变量记录最大值,拿着m和n比,比出来的结果交给变量保存
int result = m > n ? m : n;
//2、拿着result和o比,得到的结果才是最大值交给maxValue保存
//result = result > o ? result : o ;
int maxValue = result > o ? result : o ;
System.out.println(maxValue);
//--------------------------------------------------
//方法二
//拿着m和n比 ? m和o比 : n和o比
int result2 = m > n ? (m > o ? m : o ) : (n > o ? n : o );
System.out.println(result2);
}
}