JAVA入门-003(Java基础语法-运算符)

算数运算符

运算符和表达式

·运算符:对常量或者变量进行操作的符号
·表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。
·不同运算符连接的表达式体现的是不同类型的表达式。
·例:

int a = 10;
int b = 20;
int c = a + b;

+:是运算符,并且是算术运算符
a+b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式

算术运算符

符号作用说明
+
-
*
/整数相除只会得到整数商
%取余获取除法的余数

代码测试:

/*
	算术运算符
*/
public class OperatorDemo01{
	public static void main(String[] args){
		//定义两个变量
		int a = 7;
		int b = 8;
		System.out.println(a + b);
		System.out.println(a - b);
		System.out.println(a * b);
		System.out.println(a / b);
		System.out.println(a % b);
	}
} 

运行结果:
在这里插入图片描述
除法得到的是商,取余得到的是余数

整数相除只能得到整数,要想得到小数,必须有浮点数的参与

/*
	算术运算符
*/
public class OperatorDemo01{
	public static void main(String[] args){
		//定义两个变量
		int a = 7;
		int b = 8;
		System.out.println(a + b);
		System.out.println(a - b);
		System.out.println(a * b);
		System.out.println(a / b);
		System.out.println(a % b);
		
		//浮点数参与
		System.out.println(6.0 / 4);
	}
}

运行结果:
在这里插入图片描述

字符的“+”操作

字符参与加法操作时是拿着字符再计算机底层对应的数值来进行计算的
在这里插入图片描述

代码测试:

/*
	字符的“+”操作
*/
public class OperatorDemo02{
	public static void main(String[] args){
		//定义两个变量
		int a = 10;
		char c = 'A';	//字符'A'的值是65
		System.out.println(a + c);
		c = 'a';		//字符'a'的值是97
		System.out.println(a + c);
		c = '0';		//0与'0'不同 前者为int 后者为字符 字符'0'的值是48
		System.out.println(a + c);
	}
}

运行结果:
在这里插入图片描述
算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型自动提升
提升规则:
·byte类型,short类型和char类型将被提升到int类型
·整个表达式的类型自动提升到表达式中最高等级操作数同样的类型
·等级顺序:byte,short,char→int→long→float→double

如果用一个char类型的变量获取a+c的值编译就会报错:

int a = 10;
char c = 'A';
char ch = a + c;

在这里插入图片描述
int提升double测试:

//int自动上升为double类型的
double d = 10 + 13.14;
System.out.println(d);

字符串的“+”操作

当“+”操作中出现字符串时,这个“+”时字符串连接符,而不是算术运算。

“Hello”+" "+666

当“+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行“+”操作时,从左到右逐个执行。

6+66+" "+“Test”

测试:

/*
	字符串的“+”操作
*/
public class OperatorDemo03{
	public static void main(String[] args){
		System.out.println("Hello"+" "+"World!");	//字符串做“+”操作是拼接字符串
		System.out.println("Hello"+" "+666);		//字符串和int类型做“+”操作也是拼接字符串
		System.out.println(666+" "+"Test");			//同上
		
		System.out.println("Test"+6+66);			//按顺序拼接
		System.out.println(6+66+" "+"Test");		//先执行加法再拼接
	}
}

输出:
在这里插入图片描述

赋值运算符

赋值运算符

符号作用说明
=赋值a=10,将10赋值给变量a
+=加后赋值a+=b
-=减后赋值a-=b
*=乘后赋值a*=b
/=除后赋值a/=b
%=取余后赋值a%=b

扩展的赋值运算符隐含了强制类型转换
代码测试:

/*
	赋值运算符
*/
public class OperatorDemo02{
	public static void main(String[] args){
		int a = 10;			//把10赋值给a
		System.out.println(a);
		a += 20;			//+= 把左边和右边的数据做加法操作 将结果赋值给左边 int类型等价于a = a + 20;
		System.out.println(a);
		short s = 10;
		s +=20;
		System.out.println(s);
		//s = s + 20;			//会报错,因为20是int类型的
		s = (short)(s + 20);	//扩展的赋值运算符底层蕴含了强制类型转换
		System.out.println(s);
	}
}

自增自减运算符

自增自减运算符

符号作用说明
++自增变量的值加1
自减变量的值减1

·++和–既可以放在变量的后面,也可以放在变量的前面。
·单独使用的时候,无论前后结果都是一样的。
·参与操作的时候,如果放在变量的后面,先拿变量做操作,再自增自减。
·如果放在变量前面,则先自增或自减,然后拿变量做操作。
最常见的用法:单独使用
代码测试:

/*
	自增自建运算符
*/
public class OperatorDemo04{
	public static void main(String[] args){
		int i = 10;
		System.out.println(i);
		i++;				//单独使用
		System.out.println(i);
		int j = i++;			//参与使用
		System.out.println(i+" "+j); //++放在后面参与使用时,先把i的值赋给j,i再自增
		j = ++i;
		System.out.println(i+" "+j); //++放在前面参与使用时,i先自增,再把i的值赋给j
	}
}

运行结果:
在这里插入图片描述

关系运算符

关系运算符

符号说明
==a==b,判断a和b的值是否相等,成立为true,不成立为false
!=a!=b,判断a和b的值是否不相等,成立为true,不成立为false
>a>b,判断a是否大于b,成立为true,不成立为false
>=a>=b,判断a是否大于等于b,成立为true,不成立为false
<a<b,判断a是否小于b,成立为true,不成立为false
<=a<=b,判断a是否小于等于b,成立为true,不成立为false

·关系运算符的结果都是boolean类型的,要么是true,要么是false。
·千万不要把“==”误写成“=”。
代码测试:

/*
	自增自建运算符
*/
public class OperatorDemo04{
	public static void main(String[] args){
		int i = 10;
		int j = 20;
		int k = 10;
		System.out.println(i==j);
		System.out.println(i==k);
		System.out.println("*******");
		System.out.println(i!=j);
		System.out.println(i!=k);
		System.out.println("*******");
		System.out.println(i>j);
		System.out.println(i>k);
		System.out.println("*******");
		System.out.println(i>=j);
		System.out.println(i>=k);
		System.out.println("*******");
		System.out.println(i<j);
		System.out.println(i<k);
		System.out.println("*******");
		System.out.println(i<=j);
		System.out.println(i<=k);
	}
}

运行结果:

在这里插入图片描述

逻辑运算符

逻辑运算符概述

在数学中,一个数据x,大于3,小于6,我们可以这样来进行标识:3<x<6。
在java中,需要把上面的式子先进行拆解,再进行合并表达。
·拆解为:x>3和x<6
.合并后:x>3&&x<6
&&其实就是一个逻辑运算符。
我们可以这样说,逻辑运算符,是用来连接关系表达式的运算符。
当然,逻辑运算符也可以直接连接布尔类型的常量或者变量

符号作用说明
&逻辑与有false则false
|逻辑或有true则true
^逻辑异或不同为true
!逻辑非false则为true,true则为false

代码测试:

/*
	逻辑运算符
*/
public class OperatorDemo04{
	public static void main(String[] args){
		int i = 10;
		int j = 20;
		int k = 30;
		//& 有false则false
		System.out.println((i>j)&(i<k));	//false & true
		System.out.println((i>j)&(i>k));	//false & false
		System.out.println((i<j)&(i<k));	//true & true
		System.out.println((i<j)&(i>k));	//true & false
		System.out.println("########");
		//| 有true则true
		System.out.println((i>j)|(i<k));	//false | true
		System.out.println((i>j)|(i>k));	//false | false
		System.out.println((i<j)|(i<k));	//true | true
		System.out.println((i<j)|(i>k));	//true | false
		System.out.println("########");
		//^ 不同为true
		System.out.println((i>j)^(i<k));	//false ^ true
		System.out.println((i>j)^(i>k));	//false ^ false
		System.out.println((i<j)^(i<k));	//true ^ true
		System.out.println((i<j)^(i>k));	//true ^ false
		System.out.println("########");
		//! 非
		System.out.println((i>j));	//false
		System.out.println(!(i>j));	//!false
		System.out.println(!!(i>j));	//!!false
		System.out.println(!!!(i>j));	//!!!false
	}
}

输出结果:
在这里插入图片描述

短路运算符

符号作用说明
&&短路与和&相同,但有短路效果
||短路或和|相同,但有短路效果

·&:无论结果如何,左右都会执行
·&&:只有左边为真,才会向下执行
·|:无论结果如何,左右都会执行
·||:如果遇到真,就会停止执行
最常见的逻辑运算符:&&、||、!
代码测试:

/*
	短路逻辑运算符
*/
public class OperatorDemo04{
	public static void main(String[] args){
		int i = 10;
		int j = 20;
		int k = 30;
		//&& 有false则false
		System.out.println((i>j)&&(i<k));	//false && true
		System.out.println((i>j)&&(i>k));	//false && false
		System.out.println((i<j)&&(i<k));	//true && true
		System.out.println((i<j)&&(i>k));	//true && false
		System.out.println("########");
		//|| 有true则true
		System.out.println((i>j)||(i<k));	//false || true
		System.out.println((i>j)||(i>k));	//false || false
		System.out.println((i<j)||(i<k));	//true || true
		System.out.println((i<j)||(i>k));	//true || false
		System.out.println("########");
		//逻辑与或和短路与或表达逻辑时一致的
		
		System.out.println((i++>100)&(j++>100));	//j++运行了 逻辑与会判断全部逻辑
		System.out.println("i:"+i+",j:"+j);
		System.out.println((i++>100)&&(j++>100));	//j++没有运行 因为短路与条件失败就会停止运行
		System.out.println("i:"+i+",j:"+j);
	}
}

输出结果:
在这里插入图片描述

三元运算符

三元运算符

·格式:关系表达式?结果1:结果2
·范例:a>b?c:d
·计算规则:
首先计算关系表达式的值
如果值为true,则结果1为三元运算的结果
如果值为false,则结果2为三元运算的结果

代码测试:

/*
	三元运算符
*/
public class OperatorDemo04{
	public static void main(String[] args){
		int i = 10;
		int j = 20;
		String res = new String();
		res = i > j ? "i大与j" : "i小于j";
		System.out.println(res);
	}
}

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java入门基础知识是学习和理解Java编程语言的基础概念和语法规则。下面是一些常见的基础知识点: 1. Java环境安装:首先需要安装Java开发工具包(JDK),它包含了Java编译器和运行时环境。 2. Java语言特点:Java是一种面向对象的编程语言,具有简单、可移植、面向对象、安全、高性能等特点。 3. Java程序结构:一个Java程序由一个或多个类组成,每个类包含方法和属性。Java程序从main()方法开始执行。 4. 数据类型:Java提供了基本数据类型(如整数、浮点数、字符、布尔等)和引用数据类型(如类、数组、接口等)。 5. 变量和常量:变量是用于存储数据的内存位置,常量是固定不变的值。在Java中,使用关键字来声明变量和常量。 6. 运算符Java提供了各种运算符,例如算术运算符、赋值运算符、比较运算符、逻辑运算符等。 7. 控制流程:Java提供了条件语句(如if-else、switch-case)、循环语句(如for、while、do-while)和跳转语句(如break、continue)来控制程序的执行流程。 8. 数组:数组是一种存储相同类型数据的集合,可以通过索引访问数组中的元素。 9. 方法:方法是一段可重用的代码块,用于执行特定的任务。Java中可以定义自己的方法,也可以使用已经存在的方法。 10. 异常处理:Java提供了异常处理机制来处理程序运行过程中发生的异常情况,可以使用try-catch语句块来捕获和处理异常。 以上是Java入门基础知识的一些主要内容,希望对你有所帮助。如果有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值