02-Java基础语法【数据类型转换、运算符、方法入门】
重点知识记录
01、数据类型转换
当数据类型不一样是,将会发生数据类型转换。
1)自动类型转换(隐式):
特点:代码不需要进行特殊处理,自动完成;
规则:数据范围从小到大;byte < short < int < long float < double boolean < char
2)强制类型转换(显式):
特点:代码需要进行特殊的格式处理,不能自动完成;
格式:范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据;
3)数据类型转换注意事项:
a:强制类型准换一般不推荐使用,因为有可能发生精度损失、数据溢出;
b:byte/short/char这三种类型都可以发生数学运算,例如加法“+”;
c:byte/short/char这三种类型在运算的时候,都会被首先提升成为int类型,然后在进行计算;
d:boolean类型不能发生数据类型转换。
02、数字个字符的对照关系表(编码表)
ASCII码表:American Standard Code for Information Interchange,美国信息交换标准代码;
Unicode码表:万国码,也是数据和符号的对照关系,开头0-127部分和ASCII码表完全一样,但是从128开始包含有更多的字符。
最主要的三个数字:48 - ‘0’; 65 - ‘A’; 97 - ‘a’
03、算术运算符
1)运算符:进行特定操作的符号,例如:+;
2)表达式:用运算符连起来的式子叫做表达式,例如:20 + 5,又例如:a + b
3)四则运算:加:+; 减:-; 乘:*; 除:/; 取模(取余数):%
4)操作过程:
首先计算得到表达式的记过,然后在打印输出这个结果;
对于一个整数的表达式来说,出发用的是整除,整数除以整数,结果仍然是整数。所以只看商,不看余数。
只有对于整数的除法来说,取模运算符才有余数的意义。
5)注意事项:一旦运算当中有不同类型的数据,那么结果将会是数据类型范围大的那种。
6)四则运算中加好“+”号有常见的三种用法:
a、对于数值来说,那就是加法;
b、对于字符char类型来说,在计算之前,char类型会被提升成为int类型,然后再进行计算;
char类型字符,和int类型数字之间的对照关系表:ASCII、Unicode
c、对于字符串String(注意:首字母大写,并不都是关键字)来说,加好代表字符串连接操作;
任何数据类型和字符换进行连接的时候,结果都会变成字符串。
7)自增运算符:++ ,让一个变量涨一个数字
自减运算符: -- ,让一个变量降一个数字
使用格式:写在变量名称之前,或者写在变量名称之后,例如:++num,或num++
使用方式:
a、单独使用:不和其他任何操作混合,自己独立成为一个步骤;
b、混合使用:和其他操作混合,例如:与赋值混合,或与打印操作混合等等。
使用区别:
a、在单独使用的时候,前++和后++没有任何的区别,也就是说++num和num++是完全一样的;
b、在混合使用的是会后,则有【重大区别】
i、如果是【前++】,那么变量【先+1】,然后拿着结果进行使用。 【先加后用】
ii、如果是【后++】,那么首先使用变量本身的数值,【然后再让变量+1】。 【先用后加】
注意事项:
只有变量才能使用自增、自减运算符。常量不可发生改变,所以不能使用。
04、赋值运算符分类
1)基本赋值运算符:就是一个等号“=”,代表将右侧的数据交给左侧的变量;
例如:int a = 30;
2)复合赋值运算符:
+= a += 3 相当于 a = a + 3
-= b -= 4 相当于 b = b - 4
*= c *= 5 相当于 c = c * 5
/= d /= 6 相当于 d = d / 6
%= e %= 7 相当于 e = e % 7
3)注意事项
a、只有变量才能使用赋值运算符,常量不能进行赋值;
b、复合赋值运算符其中隐含了一个强制类型转换。
05、比较运算符
大于: >
小于: <
大于等于:>=
小于等于:<=
相等: == 【两个等号连写才是相等,一个等号代表的是赋值】
不相等: !=
注意事项:
1)比较运算符的记过一定是一个boolean值,成立就是true,不成立就是false
2)如果进行多次判断,不能连着写。例如数学当中的写法,例如:1 < x < 3,程序中【不允许】这种写法。
06、逻辑运算符
与(并且) && 全都是true,才是true;否则就是false
或(或者) || 至少一个是true,就是true;全都是false,才是false
非(取反) ! 本来是true,则变成false;本来是false,则变成true
与“&&”、或“||”,这两个具有短路效果:如果根据左边已经可以判断得到最终结果,那么右边的代码则不再执行,从而提升一定的性能;
注意事项:
1)逻辑运算符只能用于boolean值;
2)与、或需要左右各自有一个boolean值,但是取反只要有唯一的一个boolean值即可;
3)与、或两种运算符,如果有多个条件,可以连续写。
两个条件:条件A && 条件B
多个条件:条件A && 条件B && 条件C
TIPS:
对于1 < x < 3的情况,应该拆分为两个部分,然后使用运算符连接起来:例如:int x =2; 1< x && x <3
07、三元运算符
1)一元运算符:只需要一个数据就可以进行操作的运算符。例如:取反!、自增++、自减--
2)二元运算符:需要两个数据才可以进行操作的运算符。例如:加法+、赋值=
3)三元运算符:需要三个数据才可以进行操作的运算符。
4)操作格式:
数据类型 变量名称 = 条件判断 ? 表达式A :表达式B;
5)操作流程:
首先判断条件是否成立:如果条件成立为true,则将表达式A的值赋值给左侧的变量;如果条件不成立为false,则将表达式B的值赋值给左侧的变量;二者选其一。
6)注意事项:
a、必须同时保证表达式A和表达式B都复合左侧数据类型的要求;
b、三元运算符的记过必须被使用。
08、方法
方法就是讲一个功能抽取出来,把代码单独定义在一个大括号里,形成一个单独的功能,当我们需要这个功能的时候,就可以去调用它,这样既实现了代码的复用性,也解决了代码冗余的现象。
方法格式:
修饰符 返回值类型 方法名 (参数列表){
代码...
return ;
}
方法名称命名:和变量一样,使用小驼峰;
方法体:也就是大括号当中可以包含任意条语句;
注意事项;
a、方法定义的先后顺序无所谓;
b、方法的定义不能产生嵌套包含关系;
c、方法定义好了之后,不会自动执行,如果要想执行该方法,则需要进行方法的【调用】。
调用方式(格式):方法名称();PS:一定要使用英文的括号和分号。
09、JDK9的新特性(JShell脚本工具)
JShell脚本工具是JDK9版本中新添加的特性;
什么时候用?
当我们编写的代码非常少的时候,然后我们有不愿意编写类,mian方法,也不愿意去编译和运行的时候可以使用。
如何使用:
打开jdk9安装目录的jshell.exe程序,在DOS命令行直接输入JShell命令。
10、编译器优化
1)对于byte/short/char三种类型来说,如果右侧赋值的数值没有超过范围,那么javac编译器将会自动隐含地为我们补上一个(byte)(short)(char)。
如果右侧没有超过左侧的范围,那么编译器会自动补上强转;
如果右侧超过左侧的范围,那么则会直接编译器报错。
2)在给变量进行赋值的时候,如果右侧的表达式当中全都是常量,没有任何变量,那么编译器javac将会直接将若干个常量表达式计算得到结果并赋值;
short result = 5 + 8; // 等号右边全都是常量,没有任何变量参与运算
编译之后,得到的.class字节码文件中相当于【直接就是】:short result = 13;
右侧的常量结果数值,没有超过左侧范围,所以正确。
这称为“编译器的常量优化”。
注意:
一旦表达式中有变量参与,那么就不能进行这种优化了,就会失效。
02-Java基础语法【数据类型转换、运算符、方法入门】的更多相关文章
- 【JAVA基础】02 Java基础语法
一.内容 注释 关键字 标识符 常量.进制和进制转换 变量 数据类型和类型转换 运算符 语句 二.注释 注释概述 用于解释说明程序的文字 Java中注释分类格式 单行注释 格式://注释文字 多行注释 ...
- java基础之数据类型转换
在写java程序时,经常会遇到需要数据类型转换,下面我们来介绍一些一些基本数据类型之间的转换. 1.int,folat,double,boolean,long 转换成字符串,其实很简单只需使用一个函数 ...
- 02 Java 基础语法
在开始 Java 基本语法之前,先说明 Java 程序的基本规范: 大小写敏感,例如 Person 和 person 是不同的 类名首字母大写,如果类名由多个单词组成,每个单词首字母都大写,例如 He ...
- Java基础语法:类型转换
由于Java是强类型语言,所以有时候在进行运算时,需要用到类型转换. 整型.常量.字符类型数据可以混合运算. 运算中,不同类型的数据先转化为同一类型,然后再进行运算. 类型转换等级有低级到高级的划分, ...
- Java基础语法—数据输入
我们可以通过 Scanner 类来获取用户的输入.使用步骤如下: 1.导包.Scanner 类在java.util包下,所以需要将该类导入.导包的语句需要定义在类的上面. import java.ut ...
- Java基础语法<一> 数据类型&运算符
1 数据类型 1.1 整型 类型 存储需求 取值范围 int 4字节 -21 4748 3648 – 21 4748 3647 232 short 2字节 -32768-32767 216 lon ...
- 第5天 Java基础语法
第5天 Java基础语法 今日内容介绍 方法 方法 方法概述 在我们的日常生活中,方法可以理解为要做某件事情,而采取的解决办法. 如:小明同学在路边准备坐车来学校学习.这就面临着一件事情(坐车到学校这 ...
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...
- 019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例
019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例 本文知识点:Java中的数据类型转换案例 学习视频有误,导致没法写文,文章内容 ...
- 018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念
018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念 本文知识点:Java中的数据类型转换 类型转换 类型转换分类 2类,分别是: ...
随机推荐
- cf1067b
题意简述:判断所给图是不是一个k递归图 这是一个2递归图 题解:仔细观察发现中心点一定是直径的中点,因此找到直径中点之后进行bfs判断即可,这里注意判断递归层次太大也不符合 const int max ...
- 【sklearn朴素贝叶斯算法】高斯分布/多项式/伯努利贝叶斯算法以及代码实例
朴素贝叶斯 朴素贝叶斯方法是一组基于贝叶斯定理的监督学习算法,其"朴素"假设是:给定类别变量的每一对特征之间条件独立.贝叶斯定理描述了如下关系: 给定类别变量\(y\)以及属性值向 ...
- Tutorial: Publishing additional services for printing
Complexity:IntermediateData Requirement:Use your own data There may be occasions when you need to pu ...
- PHP OOP
<?php //1. Class and object /* object-oriented concept an object can be almost any items or conce ...
- 最短路-B - 六度分离
B - 六度分离 1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不相识的人中间最多只隔着6 ...
- 使用ResXmanager实现多语言[转]
1 多國語系 - 使用RESXMANAGER管理資源檔 1.1 前言 在實作多國語系網站時,針對靜態文字多會使用資源檔(Resource)來對應出各語系所需顯示的內容.由於資源檔可能會依照特定結構放式 ...
- react-native简单使用
基本组件的使用介绍 View: Text: TextInput: Image: Button: ActivityIndicator: ScrollView:这是一个列表滚动的组件 ListView:也 ...
- ssh配置公钥私钥登录服务器
原理 密码的方式的即时认证的方式 .而公私钥 是在服务器保存一份已经通过认证的加密串,登录时通过这个加密串去认证. 公钥是可以传播的,私钥只能在自己的本地 公私钥的工作原理, 可以参考这篇文章: SS ...
- Python 绘图 cookbook
目录 python绘图常见bug matplotlib包加载 解决中文绘图乱码解决方法 解决python中用matplotlib画多幅图时出现图形部分重叠的问题 python绘图常见bug matpl ...
- R语言函数化学习笔记4
条件语句和循环语句 当你说话时候用到了如果,此时条件出现了 举个条件函数的例子 sign_t<-function(x){ if(x>0){ return(1) }else if(x< ...