文章目录

  • 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);
    }
}