关键词:
1.运算符和表达式
运算符:
对常量或者变量进行操作的符号
表达式:
表达式: 用运算符把常量或者变量连接起来的,符合Java语法的式子
2.算术运算符
分类:+ - * / %
/:
1.整数相除结果只能得到整除,如果结果想要是小数,必须要有小数参数
2.小数直接参与运算,得到的结果有可能是不精确的
案例:
System.out.println( 10 / 3);//3
System.out.println(10.0 / 3);//3.3333333333333335
%:取模、取余。
也是除法运算,只不过获取的是余数而已
案例:
System.out.println(10 % 2);//0
System.out.println(10 % 3);//1
练习:数值拆分
需求: 键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台
举例:
package com.hailei_01;
import java.util.Scanner;
public class Demo
public static void main(String[] args)
//1.键盘录入一个三位数
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个三位数:");
int number = sc.nextInt();
//2.获取这个三位数的个位、十位、百位并打印出来
//个位: 数字 % 10
int ones = number % 10;
//十位: 数字 / 10 % 10
int tens = number / 10 % 10;
//百位: 数字 / 100 % 10
int hundreds = number / 100 % 10;
//输出结果
System.out.println("个位数字是:"+ones);
System.out.println("十位数字是:"+tens);
System.out.println("百位数字是:"+hundreds);
3.隐式转换
概念:
也叫自动类型提升,就是把一个取值范围小的数据或者变量,赋值给另一个取值范围大的变量
两种提升规则:
- 取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算
- byte、short、char三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算
取值范围从小到大的关系:
byte < short < int < long < float < double
4.强制转换
概念:
如果要把一个取值范围大的数据或者变量赋值给另一个取值范围小的变量。是不允许直接操作,就需要加入强制转换
强制转换有可能会导致数据发生错误(数据的精度丢失)
书写格式:
目标数据类型 变量名 = (目标数据类型)被强转的数据;
举例:
package com.hailei_02;
public class Demo
public static void main(String[] args)
double a = 11.1;
int b = (int) a;
System.out.println(b);
5.字符串的+操作
使用:
- 当+操作中出现字符串时,此时就是字符串的连接符,会将前后的数据进行拼接,并产生一个新的字符串
- 当连续进行+操作时,从左到右逐个执行的
6.字符的+操作
规则:
当+操作中出现了字符,会拿着字符到计算机内置的ASCII码表中去查对应的数字,然后再进行计算
举例:
package com.hailei_03;
public class Demo
public static void main(String[] args)
char c1 = 'a';
int result1 = c1 + 0;
System.out.println(result1);
char c2 = 'A';
int result2 = c2 + 0;
System.out.println(result2);
7.自增自减运算符
分类:
++ 自增运算符
-- 自减运算符
++:就是把变量里面的值+1
–:就是把变量里面的值-1
使用:
- 放在变量的前面,我们叫做先++。 比如:++a
- 放在变量的后面,我们叫做后++。 比如:a++
举例:
package com.hailei_04;
public class Demo
public static void main(String[] args)
int a = 10;
int b = 10;
int c = 10;
int d = 10;
a++;
System.out.println(a);
++b;
System.out.println(b);
System.out.println(c++);
System.out.println(++d);
8.赋值运算符
最为常用的: =
就是把等号右边的结果赋值给左边的变量
举例:
package com.hailei_05;
public class Demo
public static void main(String[] args)
//1.最为简单的赋值运算符用法
int a = 10;//就是把10赋值给变量a
System.out.println(a);
//2.如果等号右边需要进行计算。
int b = 20;
int c = a + b;//先计算等号右边的,把计算的结果赋值给左边的变量
System.out.println(c);
//3.特殊的用法
a = a + 10;//先计算等号右边的,把计算的结果赋值给左边的变量
System.out.println(a);
9.扩展赋值运算符
分类:
+=、-=、*=、/=、%=
运算规则:
就是把左边跟右边进行运算,把最终的结果赋值给左边,对右边没有任何影响
举例:
package com.hailei_06;
public class Demo
public static void main(String[] args)
//扩展赋值运算符
int a = 10;
int b = 20;
a += b;//把左边和右边相加,再把最终的结果赋值给左边,对右边没有任何影响
System.out.println(a);
System.out.println(b);
10.关系运算符
又叫比较运算符,其实就是拿着左边跟右边进行了判断而已
关系运算符最终的结果一定是布尔类型的。要么是true,要么是false
分类:
符号 | 解释 |
---|---|
== | 就是判断左边跟右边是否相等,如果成立就是true,如果不成立就是false |
!= | 就是判断左边跟右边是否不相等,如果成立就是true,如果不成立就是false |
> | 就是判断左边是否大于右边,如果成立就是true,如果不成立就是false |
>= | 就是判断左边是否大于等于右边,如果成立就是true,如果不成立就是false |
< | 就是判断左边是否小于右边,如果成立就是true,如果不成立就是false |
<= | 就是判断左边是否小于等于右边,如果成立就是true,如果不成立就是false |
11.逻辑运算符
& 和 | 的使用:
&:逻辑与(而且)
两边都为真,结果才是真,只要有一个为假,那么结果就是假。
|:逻辑或(或者)
两边都为假,结果才是假,只要有一个为真,那么结果就是真。
^(异或)的使用:
如果两边相同,结果为false,如果两边不同,结果为true
!(取反)的使用:
false取反就是true,true取反就是false
12.短路逻辑运算符
&&:
运算结果跟&是一模一样的,但是具有短路效果
||:
运算结果跟|是一模一样的,但是具有短路效果
逻辑:
当左边不能确定整个表达式的结果,右边才会执行
当左边能确定整个表达式的结果,那么右边就不会执行了,从而提高了代码的运行效率
13.三元运算符
又叫做:三元表达式或者问号冒号表达式
格式:
关系表达式 ? 表达式1 :表达式2 ;
计算规则:
- 计算关系表达式的值
- 如果关系表达式的值为真,那么执行表达式1
- 如果关系表达式的值为假,那么执行表达式2
举例:
package com.hailei_07;
public class Demo
public static void main(String[] args)
//求两个数的较大值
int a = 10;
int b = 20;
//关系表达式 ? 表达式1 : 表达式2 ;
int max = a > b ? a : b ;
System.out.println(max);
System.out.println(a > b ? a : b);
希望本文对大家有帮助,上文若有不妥之处,欢迎指正
分享决定高度,学习拉开差距
java学习--点滴记录002
1.IDEA1.1IDEA概述IDEA全称IntelliJIDEA,是用于Java语言开发的集成环境集成环境:把代码编写,编译,执行,调试等多种功能综合到一起的开发工具1.2IDEA的下载和安装1.2.1下载可以到官方网站下载,网址为... 查看详情
ck003-淘淘商城实战高并发分布式项目(新版)
CK003-淘淘商城实战高并发分布式项目(新版)新年伊始,学习要趁早,点滴记录,学习就是进步!随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到程序开发的,有没有一些基础性的资料给我们学习学... 查看详情
hcnp学习记录点滴-ftp实施
步骤:1、网络连通测试(设置ip地址)interfaceGigabitEthernet0/0/0 ipaddress10.0.0.1255.255.255.0 2、开启ftp服务(服务器)[Huawei]ftpserverenable验证:[Huawei]disftp-server FTPserverisrunning & 查看详情
hcnp学习记录点滴-vrp基础
有一道hcie题目,管理员登录到路由器后,命令不能使用,原因可能是权限级别的原因。[Huawei]user-interfacevty04[Huawei-ui-vty0-4]userprivilegelevel2[Huawei-ui-vty0-4]authentication-modepassword[Huawei-ui-vty0-4]setauthenticationpasswordcipherg 查看详情
hcnp学习记录点滴-ip地址分类()
1、分类A、0.0.0.0--127.255.255.255B、128.0.0.0--191.255.255.255C、192.0.0.0--223.255.255.255D、224.0.0.0--239.255.255.255组播地址E、240.0.0.0--255.255.255.255保留2、私有地址10.0.0.0--10.255.255.255172.16.0.0--172.31.255 查看详情
hcnp学习记录点滴-ip地址分类()
1、分类A、0.0.0.0--127.255.255.255B、128.0.0.0--191.255.255.255C、192.0.0.0--223.255.255.255D、224.0.0.0--239.255.255.255组播地址E、240.0.0.0--255.255.255.255保留2、私有地址10.0.0.0--10.255.255.255172.16.0.0--172.31.255 查看详情
为了督促自己学习,记录自己成长的点滴
突发灵感想写东西记录一下,想起博文记录自己的学过的东西,同时也希望能将自己学到的,踩过的坑分享给大家,如果有什么写得不好,有啥毛病大家可以直接指出650)this.width=650;"src="https://img.baidu.com/hi/jx2/j_0013.gif"alt="j_0013.gif"... 查看详情
hcnp学习记录点滴-ip报头
650)this.width=650;"src="http://s1.51cto.com/wyfs02/M00/8A/B0/wKiom1g3ignRUa7nAAFWcFYkNMY344.png-wh_500x0-wm_3-wmp_4-s_23564961.png"style="float:none;"title="图片1.png"alt="wKiom1g3ignRUa7nAAFWcFY 查看详情
c++学习--点滴记录005(代码片段)
5数组5.1概述所谓数组,就是一个集合,里面存放了相同类型的数据元素特点1:数组中的每个数据元素都是相同的数据类型特点2:数组是由连续的内存位置组成的5.2一维数组5.2.1一维数组定义方式一维数组定义的... 查看详情
c++学习--点滴记录008(代码片段)
8结构体8.1结构体基本概念结构体属于用户自定义的数据类型,允许用户存储不同的数据类型8.2结构体定义和使用语法:struct结构体名结构体成员列表;通过结构体创建变量的方式有三种:struct结构体名变量名struct... 查看详情
c++学习--点滴记录004(代码片段)
4程序流程结构C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构顺序结构:程序按顺序执行,不发生跳转选择结构:依据条件是否满足,有选择的执行相应功能循环结构:依据条件... 查看详情
记录代码的点滴!
...,我注册了博客园的账户,开始记录我的代码日常。 学习web前端,是我之前没有考虑过的事情。在大学浑浑噩噩度过了四年后,终于意识到就业的危机,刚入学的时候听到学长学姐们说毕业即失业,感觉离自己很遥远,但临... 查看详情
记录点滴,厚积薄发!
在学习开发过程中,每当遇到新的问题时,通常都能在网上搜到解决的方法,但是网上的方法千千万,有些是已经过时了的,有些是跟自己开发环境不同的,总是不能第一时间能找到答案。而当时遇到的问题可能在今后的开发中... 查看详情
c++学习--点滴记录007(代码片段)
7指针7.1指针的基本概念指针的作用:可以通过指针间接访问内存内存编号是从0开始记录的,一般用十六进制数字表示可以利用指针变量保存地址7.2指针变量的定义和使用指针变量定义语法:数据类型*变量名;示... 查看详情
关于tvm的点滴记录
关于TVM的点滴记录 查看详情
java点滴五
本周主要学习内容如下:一.JavaIO流对象 IO流主要用于硬板、内存、键盘等处理设备上得数据操作,根据处理数据的数据类型的不同可以分为:字节流(抽象基类为InPutStream和OutPutStream)和字符流(抽象基类为Reader和W... 查看详情
记录点滴
1、两种JS获取地址栏参数的方法 第一种:functiongetQueryVariable(variable){varquery=window.location.search.substring(1);varvars=query.split("&");for(vari=0;i<vars.length;i++){varpair=vars[i].split("=");if(pa 查看详情
点滴记录—记录琐碎的知识点,日后研究
-------------------------------------------------------------------------------2018/12/25-----------------------------------------------------------------------------今天在浏览别人的博客(https://www.jeffjade.com/)时,看到一款博客框架Hexo网址:https://hexo.io/zh-cn/官网... 查看详情