Java语言基础{Java_se(02)}-字面量和常量-变量的基本定义和使用-Java表达式-数据类型和分类-基本数据类型的转换-算数运算符-赋值运算符-比较运算符-三元运算符-逻辑运算符
来源:互联网 发布:js贪吃蛇 编辑:程序博客网 时间:2024/05/22 02:26
Java语言基础{Java_se(02)}
字面量和常量
常量:程序中固定不变化的值。
常量分类:
字面值常量: 比如:整数常量1,2,3,小数常量3.14,布尔常量false,true等.
字面量,就表示直接给出的一个值(可以是整数,小数,true,false等等).
变量的基本定义和使用
(1)在程序的执行过程中,其值在某个范围内可以发生改变的量
(2)变量的定义格式:
a:数据类型 变量名 = 初始化值;
b:数据类型 变量名;
c:变量名 = 初始化值;
(3)变量的特点:
a:占据着内存中的某一块存储区域;
b:该区域有自己的名称(变量名)和类型(数据类型);
c:可以被重复使用;
d:该区域的数据可以在同一类型范围内不断变化;
(4)局部变量:
a:先声明,再初始化,最后使用.
b:可以重复使用.
(5)变量的使用规则
a:变量必须先声明,并且初始化后才能使用;
b:声明变量必须有数据类型
c:同一作用域内变量名不能重复定义
我们写一段代码来看看变量的使用:
public class StepInVarDemo{ public static void main(String[] args) { int x = 6; int y = 3; //求加减乘除 System.out.println(x + y); System.out.println(x - y); System.out.println(x * y); System.out.println(x / y); //把操作数改成2和5 x = 2; y = 5; System.out.println(x + y); System.out.println(x - y); System.out.println(x * y); System.out.println(x / y); }}
输出结果为:
---------- 运行 ----------931827-3100输出完成 (耗时 0 秒) - 正常终止
变量例子2:
//变量的操作public class Demo { public static void main(String[] args) { int age;//定义了一个int类型的变量,变量名为age age = 17;//表示把17这个常量值,付给age变量, System.out.println(age);//打印变量,其实打印的是该变量当前所赋予的值 age = 18;//把18这个常量,赋值给age变量 System.out.println(age);//18 }}
输出结果为:
---------- 运行 ----------1718输出完成 (耗时 0 秒) - 正常终止
Java表达式
表达式(expression):是由数字、运算符、数字分组符号(括号)、常量、变量等以能求得结果的有意义排列的组合。
用运算符号连接的变量/常量可称为表达式。那么也就是说表达式是由常量、变量、运算符、括号组成能求得值的有意义结果的语句。
如:
a + b;3 + a;(x + y) * z + 100;
我们写一个表达式:
//表达式public class ExpressionDemo //1.创建一个类{ public static void main(String[] args) //2.编写一个main方法 { System.out.println(6 + 5 + 4); System.out.println("---------------------"); int result = 1 + 2 + 3; //定义一个result的变量 System.out.println(result); System.out.println("---------------------"); int a = 12; int b = 3; int c = 5; result = (a + b) / c + 10; System.out.println(result);//打印输出变量的值 }}
输出结果为:
---------- 运行 ----------15---------------------6---------------------13输出完成 (耗时 0 秒) - 正常终止
数据类型和分类
整数类型(byte-short-int-long):
byte、short、int、long类型:
整型常量的四种表示形式:
a:二进制整数:0B或0b开头(Java7的新特性),如:int a = 0B110;
b:八进制整数:要求以0开头,如 int a = 012;
c:十进制整数:如:int a = 17;
d:十六进制整数:要求0X或0x开头,如int a = 0x12;
小数类型(float-double):
float、double类型:
表示小数类型又称为浮点类型,其中float表示单精度类型,double表示双精度类型,但是二者都不能表示精确的小数。
例子:
class Demo { public static void main(String[] args) { //小数常量(默认是double类型的) System.out.println(3.14);//double类型的常量 System.out.println(3.14F);//float类型的常量 System.out.println(3.14E2);//314.0 //小数变量 //小数类型 变量名 = 小数常量; double pi = 3.14; float pi2 = 3.14F; double a = 1.000000000000000001; double b = 1.0000000001234; System.out.println(a + b);//2.0000000001234 }}
输出结果为:
---------- 运行 ----------3.143.14314.02.0000000001234输出完成 (耗时 0 秒) - 正常终止
字符类型(char):字符,字母和符号.
char类型:表示16位的无符号整数或者Unicode字符,Java对字符采用Unicode字符编码。
例子:
class CharDemo { public static void main(String[] args) { //字符 char c1 = 'A';//直接表示符号 System.out.println(c1); char c2 = 65;//表示符号对应的10进制顺序 System.out.println(c2); char c3 = '\u0041';//使用16进制的顺序 System.out.println(c3); char data = '好'; System.out.println(data); }}
输出结果为:
---------- 运行 ----------AAA好输出完成 (耗时 0 秒) - 正常终止
boolean类型:通常用于逻辑运算和程序流程控制(条件选择/循环)。
该类型的值只能是true 或 false,表示真或假。
例子:
/*需求:创建一个boolean类型 赋值为true 然后把值修改为flase*/class BooleanDemo { //boolean数据类型 常量:true/false public static void main(String[] args) { //boolean类型的变量 //数据类型 变量名 = 该类型的常量值; boolean isMan = true; System.out.println(isMan); //给isMan变量重新赋值 isMan = false; System.out.println(isMan); }}
输出:
---------- 运行 ----------truefalse输出完成 (耗时 0 秒) - 正常终止
基本数据类型的转换
在8大基本数据类型中,boolean不属于数值类型,不参与转换.
(1)默认转换
A:从小到大
B:byte,short,char – int – long – float – double
C:byte,short,char之间不相互转换,直接转成int类型参与运算。
public class HomeWork3 {
例子:
public static void main(String[] args) { double rent = 800; double mealCost = 900; double clothingCosts = 300; double other = 300; double sum = (rent + mealCost + clothingCosts + other)*5; int i = (int)sum; System.out.println(i);}
}
输出结果:
---------- 运行 ----------11500输出完成 (耗时 0 秒) - 正常终止
(2)强制转换
A:从大到小
B:可能会有精度的损失,一般不建议这样使用。
C:格式:
目标数据类型 变量名 = (目标数据类型) (被转换的数据);
例子:
public class TypeConvertDemo { public static void main(String[] args) { long l = (long)3.14; System.out.println(l); //输出3 精度丢失 int i = (int)123l; System.out.println(i); //输出123不丢失精度 }}
输出结果:
---------- 运行 ----------3123输出完成 (耗时 0 秒) - 正常终止
算数运算符
加减乘除例子:
class OperatorDemo { public static void main(String[] args) { //定义变量 int x = 3; //把3赋值给int类型的变量x int y = 4; System.out.println(x+y); System.out.println(x-y); System.out.println(x*y); System.out.println(x/y); //整数相除只能得到整数 System.out.println(x%y); //得到的是余数 }}
输出结果:
---------- 运行 ----------7-11200.753输出完成 (耗时 0 秒) - 正常终止
自增,自减,前置和后置:
++和–详解: 都只能操作变量,不能操作常量.
++: 表示当前操作变量自己累加1.表示当前操作变量自己减去1.
自增:++,递增操作符,使变量值增加1,有前置和后置之分,只能操作变量。
自减: – ,递减操作符,使变量值减去1,有前置和后置之分,只能操作变量。
自增和自减具体操作是一样的,仅仅是一个是加1,一个是减1而已,现在单讲++:
代码 result ++和 ++result,都将使result变量的值加1。
唯一的区别是:
前置(++result): 表示对result加1之后的结果进行运算,
后置(result++): 表示对result变量加1之前的值(原始值)进行运算。
如果仅仅执行简单的递增操作(只写result++或++result),那么选用任意一个都可以。
例子:
class Demo2 { public static void main(String[] args) { int a1 = 2; //定义一个变量 int b1 = ++a1; System.out.println(b1); //输出3 int a2 = 2; int b2 = a2++; System.out.println(b2); //输出为2说明是先输出再加 }}
输出结果:
---------- 运行 ----------32输出完成 (耗时 0 秒) - 正常终止
赋值运算符
A:=,+=,-=,*=,/=,%=等
B:=叫做赋值运算符,也是最基本的赋值运算符
int x = 10; 把10赋值给int类型的变量x。
C:扩展的赋值运算符的特点
隐含了自动强制转换。
class Demo{ public static void main(String[] args) { //功能就是,给变量赋值. String name; name = "YSE";//赋值 System.out.println(name); int age = 17; //1:声明int类型变量age; System.out.println("----------------------------"); int a = 10; //变量 a += 5; //赋值 System.out.println(a);//打印15 short s = 30; s = (short)(s + 5); //s += 5; System.out.println(s); }}
输出结果为:
---------- 运行 ----------YSE----------------------------1535输出完成 (耗时 0 秒) - 正常终止
比较运算符
用于比较两个变量或常量之间的关系,比较运算符的结果是boolean类型,其操作格式为:
boolean result = 表达式A 比较运算符 表达式B;
例子:
class Demo { public static void main(String[] args) { //=:表示赋值,==表示比较是否相等 boolean b1 = 4 == 4; System.out.println(b1);//true System.out.println(4 != 4);//false System.out.println(3 != 4);//true System.out.println(100 > 5);//true System.out.println(5 < 100);//true System.out.println(100 > 100);//false System.out.println(100 >= 100);//true System.out.println(100 <= 100);//true }}
输出结果为:
---------- 运行 ----------truefalsetruetruetruefalsetruetrue输出完成 (耗时 0 秒) - 正常终止
三元运算符
三元运算符,表示有三个元素参与的表达式,所以又称为三目运算符,其语义表示if-else.
语法格式:X ? Y :Z, 其
中x为boolean类型表达式,先计算X的值,若X结果为true则整个三目运算表达式的结果是Y,否则就是Z。三目运算符结果的类型由Y和Z决定。
A:格式 比较表达式?表达式1:表达式2; B:执行流程: 首先计算比较表达式的值,看是true还是false。 如果是true,表达式1就是结果。 如果是false,表达式2就是结果。 C:例子: a:比较两个数据是否相等 b:获取两个数据中的最大值 c:获取三个数据中的最大值
例子:比如我们定义一个 int 变量(unfinishedCount)存放当前你作业未完成次数,定义一个 String 变量(result)存放三元元算法返回的结果,达到 3 次或以上就存放“开除”,否则存放“还在”。
public class HomeWork { public static void main(String[] args) { int unfinishedCount = 10; String result = unfinishedCount >=3 ? "开除" : "不开除"; System.out.println(result); }}
输出结果为:
开除
逻辑运算符
A:&,|,^,!,&&,||
B:逻辑运算符用于连接boolean类型的式子
C:结论
&:有false则false
|:有true则true
^:相同则false,不同则true。
情侣关系。
!:非true则false,非false则true
&&:结果和&是一样的,只不过有短路效果。左边是false,右边不执行。
重点:
&:表示并且,当操作数A和B都为true结果才为true,否则结果result 是false。
|:表示或者,A和B都为false结果result为false,只要有A或B是true,结果就是true。
||:和|结果相同,具有短路效果,如果左边操作数A是true,result一定为true,且不运行B的运算。
例子:
class LogicanDemo{ public static void main(String[] ages) { System.out.println(true & false);//false System.out.println(true & true);//true System.out.println(true & false);//false System.out.println(false & false);//false System.out.println("--------------"); System.out.println(true && false);//false System.out.println(true && true);//true System.out.println(true && false);//false System.out.println(false && false);//false }}
---------- 运行 ----------falsetruefalsefalse--------------falsetruefalsefalse输出完成 (耗时 0 秒) - 正常终止
class LogicanDemo2{ public static void main(String[] ages) { System.out.println(true | false);//true System.out.println(true | true);//true System.out.println(false | true);//true System.out.println(false | false);//false System.out.println("--------------------"); System.out.println(true || false);//true System.out.println(true || true);//true System.out.println(false || true);//true System.out.println(false || false);//false }}
---------- 运行 ----------truetruetruefalse--------------------truetruetruefalse输出完成 (耗时 0 秒) - 正常终止
这个例子很好的说明了逻辑运算符的原理;一般我们都用短路类,效率比较高!
- Java语言基础{Java_se(02)}-字面量和常量-变量的基本定义和使用-Java表达式-数据类型和分类-基本数据类型的转换-算数运算符-赋值运算符-比较运算符-三元运算符-逻辑运算符
- Java学习基础:运算符和表达式(算数运算、关系运算、逻辑运算、位运算、条件运算、赋值运算)
- 03.Java语言基本语法之运算符,算数、赋值、比较、逻辑、位、三元运算等
- 算数运算符,赋值运算符,比较运算符,逻辑运算符,三元运算符,位运算符,字符和字符串参加运算
- Java基本数据类型和运算符
- java中的基本数据类型和运算符
- Java基本数据类型和运算符
- 基本数据类型和运算符
- 基本数据类型和运算符
- 二、基本数据类型、运算符和表达式
- 常量、变量、运算符、表达式和赋值语句的使用
- javascript算数运算符逻辑运算符和赋值运算符
- java程序的基本规则和数据类型以及运算符
- java基础之数据类型和基本运算符
- Java基础2--基本数据类型和运算符
- java数据类型基础,运算符,常量,变量
- js数据类型 数据类型的种类 变量 算数运算符 逻辑运算符 位运算符
- java基础 1 变量 数据类型 数据类型的转换 运算符
- (7)约瑟夫问题
- 【华为】数独
- php mcrypt加密实例
- LeetCode: 476. Number Complement
- 万能地图下载器矢量标注功能特性
- Java语言基础{Java_se(02)}-字面量和常量-变量的基本定义和使用-Java表达式-数据类型和分类-基本数据类型的转换-算数运算符-赋值运算符-比较运算符-三元运算符-逻辑运算符
- Effective Java(一)—— 创建和销毁对象
- 创建第一个线程
- Java设计模式-代理模式
- TP分页类优化 css代码
- webpack细节点记录
- 39. Combination Sum
- Android 广告条轮播的实现
- Jeddict1:简述