Java语言基础{Java_se(02)}-字面量和常量-变量的基本定义和使用-Java表达式-数据类型和分类-基本数据类型的转换-算数运算符-赋值运算符-比较运算符-三元运算符-逻辑运算符
2017-06-29 16:53
1551 查看
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 4000 x = 2; y = 5; System.out.println(x + y); System.out.println(x - y); System.out.println(x * y); System.out.println(x / y); } }
输出结果为:
---------- 运行 ---------- 9 3 18 2 7 -3 10 0 输出完成 (耗时 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 } }
输出结果为:
---------- 运行 ---------- 17 18 输出完成 (耗时 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.14 3.14 314.0 2.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); } }
输出结果为:
---------- 运行 ---------- A A A 好 输出完成 (耗时 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); } }
输出:
---------- 运行 ---------- true false 输出完成 (耗时 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不丢失精度 } }
输出结果:
---------- 运行 ---------- 3 123 输出完成 (耗时 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 -1 12 0 0.75 3 输出完成 (耗时 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说明是先输出再加 } }
输出结果:
---------- 运行 ---------- 3 2 输出完成 (耗时 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 ---------------------------- 15 35 输出完成 (耗时 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 } }
输出结果为:
---------- 运行 ---------- true false true true true false true true 输出完成 (耗时 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 } }
---------- 运行 ---------- false true false false -------------- false true false false 输出完成 (耗时 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 } }
---------- 运行 ---------- true true true false -------------------- true true true false 输出完成 (耗时 0 秒) - 正常终止
这个例子很好的说明了逻辑运算符的原理;一般我们都用短路类,效率比较高!
相关文章推荐
- C语言基础:进制转换,变量,常量,表达式,基本数据类型,输出函数,输入函数,运算符. 分类: iOS学习 c语言基础 2015-06-10 21:39 25人阅读 评论(0) 收藏
- C语言基础:进制转换,变量,常量,表达式,基本数据类型,输出函数,输入函数,运算符.
- JAVA基础初探(一)核心概念(JVM,JDK,JRE)、流程控制语句、基本数据类型、关键字、标识符、常量与变量、类型转换、Debug处理
- 语言基础(项目结构,数据类型,引用类型,转义字符,变量常量,基本的类型转换)
- java语言基础(7)——数据类型、变量的定义和使用
- C程序设计语言- 类型、运算符与表达式-2.1----变量名、数据类型及长度、常量、声明、算数运算符、关系运算符与逻辑预算符
- 17.2015.08.04第十八节课 C#2 (数值类型及调用、引用类型及调用、装拆箱、常量、变量、数据类型转换、算术运算符、赋值运算符、关系运算符、逻辑运算符、字符串的常用方法)
- 第二节 变量 、 基本类型 、 运算符 、 表达式 、 数据 、 类型转换 、 常量
- C语言基础知识之(一):进制、基本数据类型、常量、变量、表达式、语句
- 黑马程序员——Java语言基础——关键字、表示符、常量、变量及数据的类型、运算符
- 黑马程序员—Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)
- java主类结构、基本数据类型、 变量与常量、运算符、数据类型转换、代码注释与编码规范
- 尚硅谷 第三课全 java-变量类型转换-字符与字符串-算数运算符-赋值运算符-三元运算符-.switch语句-循环结构-while 循环语句 do-while 循环语句
- 磨刀不误砍材工 - Java的基础语言要素(从变量/常量切入,看8种基本数据类型)
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- 黑马程序员_Java基础_02常量、变量、数据类型、运算符、语句、程序执行过程
- JAVA第二章基础知识:注释,标识符,数据类型常量变量,基本数据类型转换。--------------(Make A little EvProgresseryday )
- Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)