常量、变量、运算符

添加注释

注释:就是对代码的解释和说明,其目的就是让其他开发者能轻松的了解代码。注释是不影响程序的编译和运行。

java中的注释有三种:

  1. 单行注释:以//开头 换行结束
  2. 多行注释:以/开头,以/结束
  3. 文档注释:以/*开头,以/结束
//单行注释
/*
	多行注释
*/
/**
	文档注释
*/
public class HlloWorld {
	//代码内容
	public static void main (String[] args){
		System.out.println("Hello world!");

	}
}

标识符

标识符:一般是指在程序中,我们自定义的内容。比如类名 “HelloWorld” 比如 方法名 “main”等等,都是标识符

标识符的命名规则

  1. 标识符可以包含英文字母26个(区分大小写)、0~9数字、_下划线、$美元符号
  2. 标识符不能以数字开头
  3. 标识符不能是关键字
  4. 标识符尽量达到见名知意的效果

标识符命名规范

常量

常量:在程序运行期间,固定不变的量

常量的分类:

  • 字符串常量:凡是用双引号引起的部分,称为字符串常量。
  • **整数常量:**直接写上 的数字,没有小数点。如 18、38等
  • 浮点数(小数)常量:直接写上的数字,有小数点。如3.14、0.0等
  • **字符常量:**凡是用单引号引起来的单个字符,就叫做字符常量 如’男‘、’女‘、’3‘。
  • **布尔常量:**只有true和false。
  • 空常量: null。代表没有任何数据,在内存中不存在。
//练习一下常量的操作
public class ConstantDemo {
	
	public static void main(String[] args) {
		//字符串常量
		System.out.println("今天是一个好天气");
		System.out.println("abcd");
		System.out.println("1234");
		System.out.println("");//不是null 是空字符串
		
		//整数常量
		System.out.println(22);
		System.out.println(18);
		System.out.println(500);
		System.out.println(1000);
		System.out.println(-1000);
		
		//浮点数常量
		System.out.println(1000.0);
		System.out.println(3.14);
		System.out.println(-3.14);
		System.out.println(-1.14);
		
		//字符常量
		System.out.print('张');
		System.out.println('三');
		System.out.println('男');
		System.out.println('A');
		
		//布尔常量		
		System.out.println(true);
		System.out.println(false);
		
		//空常量
		//System.out.println(null);
	}
}

变量

变量:在程序运行期间,内容可以发生变化的量。

数据类型

分类:

计算机基础知识

二进制:计算机中的数据全部采用的二进制数表示,只包含0、1两个数,逢二进一,1+1=10。

比特(bit):每一个1或者每一个0,叫做一个bit(比特)(位)

字节:字节称为我们金酸剂中最小的存储单元。计算机中存储任何的数据,都是以字节的形式存储。

  • 单位转换
    • 8bit = 1B
    • 1024B = 1KB
    • 1024MB = 1GB
    • 1024GB = 1TB
    • 1024TB = 1PB
    • 1024PB = 1EB
    • 1024EB = 1ZB

变量的定义

变量定义要具备三元素:数据类型、变量名、数据值。

格式:

数据类型 变量名 = 数据值;

//练习变量的定义和使用
/*
	格式:
		变量的数据类型 变量名 = 变量值;
	拆分两步:
		变量的数据类型 变量名;//声明一个变量
		变量名 = 变量值;	//赋值,将等号右边的数据值赋值给左边的变量

*/
public class VariableDemo {
	
	public static void main(String[] args) {
		//创建一个变量
		//格式:数据类型 变量名;
		int age;
		//变量初始化 第一次赋值不能省略
		//格式: 变量名 = 数据值;
		age = 18;
		//把 该变量的内容在控制台中打印输出
		System.out.println(age);
		//当在程序汇总打印变量时,显示的是变量中存储的数据值。
			
		//改变变量当中原来的数据值22,变成新的数据值32
		age = 22;
		System.out.println(age);
		
		byte score = 60;
		System.out.println(score);
		//注意:右侧的数值不能超过左侧变量的类型的范围
		//score = 500;
		System.out.println (score);
		
		//定义一个short类型的变量
		short salary = 10000;
		
		//定义一个长整型的数,需要在整数的后面添加字母L/l
		long phone = 88888888888L;
		System.out.println(phone);
		//定义浮点型数值 需要在浮点数的后面添加字母F/f
		float height = 1.75F;
		System.out.println (height);
		double weight = 73.5;
		System.out.println (weight);
		
		//定义一个字符型的变量
		char sex = '男';
		System.out.println (sex);
		
		//定义一个布尔型的变量
		boolean flag = false;
	}
}
//定义变量的注意事项
/*
	使用变量的时候,需要注意的事项如下:
		1、创建多个变量的时候,变量之间的名称不可以重复:
		2、对于float和long类型来说,变量的数据值后面需要添加字母F和L
		3、如果使用byte或者是short类型的变量,那么右侧的数据不能超过左侧类型的范围
		4、没有进行赋值的变量,不能直接使用,能够使用的变量一定是经过初始化(第一次赋值)的变量
		5、变量的使用必能超出它对应的作用域。
		6、可以通过一个语句来创建多个变量,但是不建议使用。
	作用域->{} 	{作用域起始位置
				}作用域结束位置
*/

转义字符

  • 一些具有特殊含义的字符,需要通过“\”来进行转义
    • \t →一个制表符(占8位)一个tab缩进
    • \n →一个换行符 newLine();
    • \r →一个回车符 按下一个enter键
    • \b →退一格

数据类型之间的转换

Java程序中要求参与计算的数据必须保证数据类型的一致性,当数据类型不一致的时候,将会发生数据类型转换。

数据类型之间的转换分为两种:

  1. 自动类型转换(隐式)

    将取值范围小的类型自动提升为取值范围大的类型。

    例如byte类型在内存中占1个字节,和int类型的变量做运算时会自动提升为int类型,自动补充3个字节,结果为int类型。

  2. 强制类型转换(显示)

    将取值范围大的类型转换成取值范围小的类型。

    格式 :数据类型 变量名 = (数据类型)被转数据值;

    强制类型转换的注意事项:
    1、一般不推荐使用,因为可能会发生精度损失,数据溢出
    2、byte、short、char这三种数据类型在运算的时候,都会被首先提升为int类型然后在计算
    3、boolean类型不能发生数据类型转换
    4、char类型可以进行数学运算,例如:加法 “+”

//练习数据类型之间的转换
/*
	自动类型转换
		1、特点:不需要通过代码进行处理,程序内部转换自动完成。
		2、规则:从数据范围小的转换为数据范围大的
		
	强制类型转换
		1、特点:需要通过代码进行处理,程序不会自动完成。
		2、格式:范围小的数据类型 = (范围小的数据类型)范围大的数据类型;
	强制类型转换的注意事项:
		1、一般不推荐使用,因为可能会发生精度损失,数据溢出
		2、byte、short、char这三种数据类型在运算的时候,都会被首先提升为int类型然后在计算
		3、boolean类型不能发生数据类型转换
		4、char类型可以进行数学运算,例如:加法 “+”
		
*/
public class DataTypeDemo {
	
	public static void main(String[] args) {
		//拿int类型的变量和byte类型的变量做运算 加法
		byte num01 = 12;
		int num02 = 14;
		int num03 = num01 + num02;//byte 和int 运算 byte自动向int转型 运算式为 int类型 byte接收不到
		System.out.println(num03);
		
		//拿int类型和double类型的变量做运算
		int num04 = 124;
		double num05 = 123.444;
		//相加
		double num06 = num04 + num05;
		
		// 拿一个浮点数的值赋值给一个int类型的变量
		int a = (int)3.14;
		System.out.println(a);
		//拿一个long类型的值赋值给一个int类型的变量
		int b = (int)123L;
		System.out.println(b);
		//拿一个超出int范围的值赋值给一个int类型的变量
		int c = (int)123456789123456L;
		System.out.println(c);
		
		//定义两个byte类型的变量
		byte n1 = 10;
		byte n2 = 20;
		//byte n3 = n1 + n2;//byte变量参与运算时自动提升为int ,故类型为byte 的n3接收不到
		byte n3 = 10 + 20;//常量之间相加还是常量
		byte n4 = 10 + 20 + n1;//常量和变量之间相加有数据类型
		System.out.println(n3);
		
		
	}

}

ASCII(美国信息交换标准代码)

数字和字符的对照关系表(编码表)

ASCII编码:American Standard Code for Information Interchange

Unicode编码:万国码。也是数字和字符符号的对照关系表,开头以0~127部分和ASCII完全一样,但是从128开始包含更多的字符。

  • 需要记忆:
    • 48→’0’
    • 57→’9’
    • 65→’A’
    • 90→’Z’
    • 97→’a’
    • 122→’z’

在计算机内部运算采用的都是二进制的方式,里面的数据都是二进制0、1格式,如何让计算机识别人类文字就出现了编码表的概念。

编码表:就是将人类的文字和一个十进制数对应起来组成的一张表格。

将所有的英文字母、数字符号都和十进制数进行对应,产生了世界上第一张编码表(ASCII)

备注:在char和int类型进行计算的过程中,char类型的字符会被转换成int类型,需要查询编码表

//练习ASCII编码表
public class DataTypeDemo03 {
	
	public static void main(String[] args) {
		
		char a = 'a';
		System.out.println(a);
		int num1 = 1;
		int num2 = a +num1;
		System.out.println(num2);
		char ch = '张';
		int num3 = ch;
		System.out.println(num3);
		char z = 'z';
		int result = z + 10;
		System.out.println(result);
	}
}

运算符

算术运算符

//算术运算符
/*
	运算符:在程序中能够进行特定操作的符号。例如:*%
	表达式:使用运算符连接起来的式子叫做表达式,例如: 3+5 5%3
	
	除法运算:
		/  求商 5 / 3 = 1
		
		%	求余 5 % 3 = 2
	备注:	对于整数的表达式来说,除法用的是整除 求的是商,不看余数
			一旦运算中出现了不同的数据类型,那么结果将会是数据类型范围大的那种。
	++	自增运算符	加1
	--	自减运算符	减1
	使用方式:
			1.变量写在运算符的左边或者右边
			2.单独使用
			3.混合使用
	区别:
		1.单独使用,前++和后++没有区别 ++a 和 a++
		1.混合使用,有区别。
			a.如果是前++,那么变量会立马自增1,然后在进行其他运算,【先加后用】
			b.如果是后++,那么首先使用原来的数值,然后在自增1运算【先用后加】
		备注;对于自增和自减运算不能使用到常量身上,只有变量可以使用。

*/
public class OperatorDemo01 {
	
	public static void main(String[] args) {
		
		int a = 123;
		double b = 12;
		double c = a / b;
		System.out.println(c);
		
		int d = 10;
		d++;
		System.out.println(d);
		System.out.println(10++);
	}
}

赋值运算符

备注:

  1. 重点掌握【=】基本赋值运算符
  2. 剩下的都是复合运算符
  3. 只有变量才可以使用赋值运算符
  4. 复合赋值运算符其中隐含了一个强制类型转换。
//赋值运算符
/*
	=

*/
public class OperatorDemo02 {
	
	public static void main(String[] args) {
		
		byte num1 = 10;
		byte num2 = 20;
		num2 +=num1;//可以输出
		System.out.println(num2);
		
	}
}

比较运算符

备注:比较运算符,运算的结果都是布尔类型值(true、false)

注意事项:

如果我们进行多次判断,不能连着写。

数学当中,a<3 a>-1———>-1<a<3

在程序当中不允许这种操作

//比较运算符
public class OperatorDemo03 {
	
	public static void main(String[] args) {
		
		Sytem.out.println(10 == 20);//相等比较判断。
		Sytem.out.println(10 > 20);//大于比较判断
		Sytem.out.println(10 < 20);//小于比较判断
		Sytem.out.println(10 >= 20);//大于等于比较判断
		Sytem.out.println(10 <= 20);//小于等于比较判断
		Sytem.out.println(10 != 20);//不等于判断
		
		
	}
}

逻辑运算符

//练习逻辑运算
/*
	与		&
	或		|
	非		!
	异或	^
*/
public class OperatorLogicDemo {
	
	public static void main(String[] args) {
		
		//&与逻辑运算符
		System.out.println(true & false);//false
		System.out.println(10 < 20 & 10 != 20);//true
		//一个null的值被调用了
		String str = null;//null == null === str.equals(null)
		//编译器只校验语法是否合法
		//在程序运行时期,才能检测到值的内容是否合法
		//&&只有当连接的左边值为false的时候,才能起到短路作用
		System.out.println(false && str.equals("null"));//
		System.out.println("----------------------------------------");
		
		//||只有当连接的左边值为true的时候,才能起到短路作用
		System.out.println(true || str.equals("null"));//
		System.out.println("----------------------------------------");
		
		//!取非逻辑运算符
		System.out.println(!flag);//true
		// ^ 异或逻辑运算符
		Sys tem. out . println (true ^ false) ;// true
		System. out. println (true ^ true) ;// false
		System. out. println(false ^ true) ;// true
		System. out. println (false ^ false) ;// false 
	}
}

位运算符

备注:位运算计算机底层采用的对整数进行二进制运算.

没有无符号左移位运算符

原码、反码、补码

注意:正数的原码、补码和反码都一样

三目运算符

? :

格式:

布尔类型表达式? 真的结果值:假的结果值

//三目运算符
public class OperatorDemo02 {
	
	public static void main(String[] args) {
		//布尔类型表达式? 真的结果值 : 假的结果值
		
		//输出语句
		System.out.println( 3 < 4 ? "这是真的" : "这是错的");
		System.out.println("============================");
		//?和:两者的数据类型不一致
		System.out.println(1 == 2 ? true : "1等于2是错的");
		System.out.println("============================");
		//三目运算符格式:
		//数据类型 变量名 = 布尔类型表达式 ? 真的结果值 : 假的结果值
		
		int num = 5 < 6 ? 50 : 80;
		System.out.println(num);//50
		
		
		
	}
}

计算方式:

如果布尔类型表达式结果是true,三目运算符运算的结果为紧邻?后面的值

若果布尔类型表达式结果是false,三目运算符运算的结果为紧邻:后面的值

备注:当三目运算符运算参与有其他运算(如赋值运算),要求三目运算符中的?和:后面的值的**数据类型保持一致****

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值