失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Java码农进阶之路~基本数据类型运算符流程控制-分支三目

Java码农进阶之路~基本数据类型运算符流程控制-分支三目

时间:2023-04-30 07:31:12

相关推荐

Java码农进阶之路~基本数据类型运算符流程控制-分支三目

基本数据类型

首先先说下字节:字节(byte)是计算机信息技术用于计量存储容量的一种计量单位

通常情况下一字节由8个二进制位表示 0000 0000;一个字节的取值范围为-128~127.

大家有兴趣的可以了解下为什么是-128~127.

一个Byte由八个位组成,如0000 0000,其中后七位表示数值,最前面的一位是符号位(0为正,1为负).这样+1就是0 000 0001, -1就是1000 0001.那么最大的正数就是0111 1111,即2^0+2^1+.......2^6=127;同理,最小的负数为1111 1111,即-127;而之所以说取值范围是-128~127,是因为0会出现一个+0和一个-0.这时,将-0规定为-128,这样就与计算机的补码(程序都是按补码运行的)完美的结合在一起.

1.整数型

short 短整型 2个字节

int 整型 4个字节

long 长整型 8个字节

2.小数型(浮点型)

float 4个字节

double 8个字节(double)

3.字符型

字符串型

下面我们来举个例子

public class Demo {public static void main(String[] args) {//常量在程序中,不能修改的量就是常量//声明一个变量---存储数据//数据类型+变量名 = 初值;int a = 10;//定义了一个整型变量,初值为10a = 15;byte b = 10;short s = 10;long m = 10;/**double是存储小数的*但是,现在赋值的是一个整数 *这时系统会进行 隐式转换*把小的类型 帮你 转换 成大的类型*/double d = 10;System.out.println(d);//10.0//强制类型转换 会丢失数据精度//声明一个小数 系统默认 使用的是double类型int number = (int)3.13;System.out.println(number);//声明float类型小数,需要使用标识符f标识float f = 10.0f;System.out.println(f);/** 特殊类型 字符类型* 特点:字符类型可以和整形相互转换* 声明字符型 使用 单引号*/char ch = 'a';System.out.println(ch);//强转完 打印该字符在 AscII表中对应的值System.out.println((int)ch);char ch1 = 97;System.out.println(ch1);//字符串类型//字符串中+号 相当于连接两个字符串(拼接)String str1 = "haha";String str2 = "wawa";System.out.println(str1 + str2);int num1 = 10;System.out.println("num1 = " + num1);int num2 = 15;System.out.println(num1 + num2);//数字和字符串 使用+连接的时候//相当于直接做字符串的拼接//和字符串相加 一定会得字符串System.out.println(str1 + num1 +num2);}}

运算符
1.算术运算符 + - * / %(区域运算符) ++ --
2.关系运算符 > = < >= <= == !=

使用关系运算符 是用来判断的,并且判断结束后会有一个结果 布尔值true false

逻辑运算符 (用来判断 返回一个布尔值)

&& 逻辑与 (条件1)&&(条件2) 一假则假

|| 逻辑或 (条件1)||(条件2) 一真则真 ---逻辑运算需注意其短路现象

! 逻辑非 非真即假

public class Demo {public static void main(String[] args) {//取模运算(用的最多 是对2取余)//判断是不是偶数int n1 = 10 % 2;System.out.println("n1 = " + n1);// 除法int n2 = 10 / 3;System.out.println("n2 = " + n2);//ArithmeticException算术异常//int n22 = 10 / 0;//System.out.println(n22);//自增运算(++) 和 自减运算(--)//++在前,先自增再参与运算//++在后,先参与运算再自增int n3 = 10;n3++;System.out.println("n3 = " + n3);int n4 = 10;int n5 = n4 + ++n4;// 10 + 11System.out.println("n4 = " + n4);//11System.out.println("n5 = " + n5);//21//声明一个布尔类型变量//只有两个值 true false//声明状态 和 判断时候用boolean b = true;System.out.println(b);int num1 = 10;int num2 = 10;boolean result1 = num1 == num2;System.out.println(result1);//判断两个字符串是否相等String str1 = "wanglong";String str2 = "pengqian";str1.equals(str2);boolean reslut2 = str1.equals(str2);System.out.println(reslut2);int num3 = 10;int num4 = 15;int num5 = 12;// 逻辑与的短路现象// 一假则假 如果条件1已经不成立了//那么系统不会执行后面的语句boolean reslut3 = (num3 > num4) && (++num3 > num5);System.out.println("num3 = " + num3);//10boolean reslut4 = (num3 < num4) && (++num3 > num5);System.out.println(reslut3);System.out.println("num3 = " + num3);//11//逻辑或短路//一真则真 如果条1为真,那么后面就不会执行boolean reslut5 = (num3 < num4) || (num3++ > num5);System.out.println("reslut5 = " + reslut5);System.out.println("num3 = " + num3);//11}}

分支运算---if switch
if---三种写法

if(判断条件){

执行的语句

}

if(判断条件){

执行语句1(条件成立时)

}else{

执行语句2(条件不成立时)

}

if(条件1){

执行语句1(条件1成立时)

}else if(条件2){

执行语句2(条件2成立时)

}else{

执行语句3

}

switch

switch (key---被匹配的值) {

case value--匹配的值:

执行语句1

break;

case 匹配的值2:

执行语句2

break;

可以有很多个case

default:

如果前面都没有匹配上

就执行default

break;

}

理论上来说,能使用if的,就一定能使用switch语句

什么时候使用if,什么时候使用switch

如果判断时候 条件是个范围用if

如果判断时候 条件是几个值,使用switch相对简单一点

三目运算

(判断条件)?值1 : 值2;

判断条件成立 返回值1 反之 返回值2

int num1 = 10;

int num2 = 15;

int max = 0;

max = (num1 > num2) ? num1 : num2;//15

如果觉得《Java码农进阶之路~基本数据类型运算符流程控制-分支三目》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。