Java系列之Java基础(上)

版权声明


一、进制

常用进制为二进制,八进制,十进制,十六进制。x进制就是逢x进一。

进制书写格式

二进制:由0和1组成。以0b开头,例如0b1001、0b1100。
八进制:由0-7组成。以0开头,例如0752、06241。
十进制:由0-9组成。我们日常用的数字都是十进制的,例如100、10。
十六进制:由0-9和a、b、c、d、e、f组成。以0x开头。例如0x9dc3、0x8b。

进制转换-- 常用进制转十进制

常用进制(x进制)转十进制都大同小异。
规则为:从最低位(最右)算起,位上的数字乘以本位的权重(x的(位数减一)次方),然后把所有值加起来。
举例一个其余类似。
例如:二进制转十进制
二进制:ob1110
转换过程:

得到转换后的十进制:15

进制转换-- 十进制转常用进制

十进制转常用进制也都大同小异。
规则总结为一句:除积倒取余
例如:十进制转二进制
十进制:123
转换过程:在这里插入图片描述
得到转换后的二进制:0b1111011


二、原码 反码 补码

计算机中参与运算用的就是补码
原码:二进制数前面加一个符号位,正数为零,负数为一。
反码:正数的反码与其原码相同,负数的反码是对其原码逐位取反,但符号位除外
补码:正数的补码与其原码相同,负数的补码是在其反码的末位加1。


三、数据类型

下图为Java的数据类型结构图
在这里插入图片描述
从图中可以看出整数类型有byte(字节)、short(短整形)、int(整形,整数计算未声明类型默认为int类型)、long(长整形)。
其中1字节为8位(二进制)取值范围为-2^7 ~ 2^7-1 默认值为0
short=2字节 占16位 取值范围为-2^15 ~ 2^15-1 默认值为0
int=4字节 占32位 取值范围为-2^31 ~ 2^31-1 默认值为0
long=8字节 占64位 取值范围为-2^63 ~ 2^63-1 默认值为0

浮点类型有float(单精度浮点)、double(双精度浮点 浮点数计算默认类型为double)。
float=4字节 占32位 取值范围为1.40129846432481707e-45 ~3.40282346638528860e+38 (无论正负) 默认值为0.0
double=8字节 占64位 取值范围4.94065645841246544e324d ~ 1.79769313486231570e+308d (无论正负) 默认值为0.0

注意:
长整型long的后缀用L或者l标记;建议使用L。
float单精度浮点数用F或者f标记;建议使用F。

char(字符) 2字节 16位 取值范围:0-65535 最小值是 \u0000(即为0) 最大值是 \uffff(即为65,535)默认值为0
注意:字符与字符串是两种不同的数据类型

boolean(布尔) 1字节 占8位 其值只有true(真)和false(假) 默认值为false


四、变量与常量

变量

变量,顾名思义是可变的量。
变量是用于存储基本类型的值,或者是存储对象的引用。
声明一个变量的时候需要确定变量的大小、类型、名字
例如:

package com.ew;

public class Variable {

	public static void main(String[] args) {
		int a; //声明一个int类型的变量a
		a=50;  //把a 变量初始化为50即为其赋值为50 
		int b=9;  //声明一个int类型的变量b并为其赋值为9
		float c=5.5F; //声明一个float类型变量c并为其赋值5.5 
		              //F为后缀声明这是一个单精度,否则会默认为double
		            
	}

}

变量的命名规则:
1.变量名只能是由:字母,数字,下划线, $组成。
2.变量的首字母不能是数字
3.变量名不能使用系统关键字或者保留关键字
4.为了代码的清晰易懂,通常变量名采用一些著名的命名规则,主要有Camel标记法(驼峰标记法)、 Pascal标记法、和匈牙利标记法;Camel标记法采用首字母小写,接下来的单词首字母都以大写字母开头的方法。
5.命名一般采用有意义的英文单词来进行命名,这样通俗易懂

常量

常量,即在程序运行过程中不能改变的量

package com.ew;

public class Constant {

	public static void main(String[] args) {
		int a=50; 
		int b=9+12;  
		//这里的a和b都为变量。9与12为常量
		            
	}

}

常量的分类如下:
整数常量:所有整数
小数常量:
所有小数
布尔常量:只有true和false
字符常量:
使用‘ ’引起来的单个字符
字符串常量:使用“ ”引起来的字符序列,例如:“abc”
null常量:只有一个值null


五、运算符

算数运算符

算数运算符操作范例结果
+正号+55
-负号int b=6 ;-b-6
+5+510
-6-33
*3*721
/6/32
%取模6/42
++自增(前)a=3;b=++aa=4;b=4
++自增(后)a=3;b=a++a=4;b=3
- -自减(前)a=3;b=- -aa=2;b=2
- -自减(后)a=3;b=a- -a=2;b=3

前面的基本都不用说,这里主要说一下自增自减。
其分为两种情况,说一下++的,- -就与++类似。
第一种情况
单独使用i++和++i。在该情况下将++放在操作数(例如i)的前面或者后面效果是一样的,
第二种情况
i++和++i参与运算。在该情况下:
1、将++放在操作数(例如i)的前面,那么i会先自增然后再参与运算
2、将++放在操作数(例如i)的后面,那么i会先参与运算然后再自增
++i表示先执行++运算改变变量值,再计算表示式; i++表示先执行表达式计算,最后计算++改变变量值。

赋值运算符

赋值运算符格式范例结果
=变量=表达式a=3;将3赋值给变量a
+=变量+=表达式a+=3即a=a+3变量a+3,并且把值赋值给a
-=变量-=表达式a-=3即a=a-3变量a-3,并把值赋给a
*=变量*=表达式a*=3即a=a*3变量a*3,并把值赋给a
/=变量/=表达式a/=3即a=a/3变量a/3,并把值赋给a
%=变量%=表达式a%=3即a=a%3变量a%3,并把值赋给a
package com.ew;

public class TestOperator {

	public static void main(String[] args) {
		int a=3; //把3赋值给a
		int b=0;
		b+=3;  //等同于b=b+3
		int c=5;
		c-=1;  //等同于c=c-1
		System.out.println(a);//打印函数,以后会讲到。打印a的值
		System.out.println(b);//打印b的值
		System.out.println(c);//打印c的值
	}

}

结果:
在这里插入图片描述

关系运算符

关系运算符名称范例结果
>大于5>2true
>=大于等于5>=2true
<小于5<4false
<=小于等于5<=4false
==等于3==3true
!=不等于5!=4true
package com.ew;

public class TestOperator {

	public static void main(String[] args) {
		System.out.println(5>2);//如果5>2 为真返回true 否则为假返回 false
		System.out.println(5>=2);//如果5大于或等于2 为真返回 true 否则为假返回 false
		System.out.println(5<4);//如果5<4 为真返回true 否则为假返回 false
		System.out.println(5<=4);//如果5小于或等于4 为真返回true 否则为假返回 false
		System.out.println(3==3);//==与= 是不同的一个是比较两边的元素是否相等,一个是赋值
		                         //如果3等于3 为真返回true 否则为假返回false
		System.out.println(5!=4);//如果5不等于4 为真返回true 否则为假返回false
	}

}

结果:
在这里插入图片描述

逻辑运算符

逻辑运算符名称范例结果
&逻辑与5>2true
l逻辑或5>=2true
^逻辑异或5<4false
!逻辑非5<=4false
&&逻辑与3==3true
ll逻辑或5!=4true

&:只要两边的boolean表达式结果,有一个false.那么结果就是false.
只有两边都为true,将结果为true.
|:两边只要有一个为true结果就为true, 当两边同为false时结果才为false.
^:两边相同,结果是false;两边不同,结果是true.
!: !false值就为true 相反 !true值就为false.
&&:左边表达式为false后面的表达式就不会去判断了直接返回false,为true才会判断后面表达式,同时为真才返回true.
||:左边表达式为true后面的表达式就不会去判断了直接返回true,为false才会判断后面表达式,同时为false才返回false.
“&”和“&&”的区别:单与时,左边无论真假,右边都进行运算;
双与时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

"|"与“||”的区别:原理与前面雷同

package com.ew;

public class TestOperator {

	public static void main(String[] args) {
		System.out.println(5>2&5<4);
		System.out.println(5>2|5<4);
		System.out.println(5>2^5<4);
		System.out.println(!(5>2));
	}

}

结果:
在这里插入图片描述

三目运算符

也称三元运算符
语法格式:条件表达式?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;

package com.ew;

public class TestOperator {

	public static void main(String[] args) {
		int a=9;
		int b=4;
		int c;
		c=a>b?a:b;  //如果a>b则执行a的结果把值赋值给c,否则执行b的结果把值赋值给c
		System.out.println("c="+c);
	}

}

结果:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值