南宁做网站比较好的公司有哪些,wordpress数据库恢复,广州培训机构网页设计,网站运营设计hello#xff0c;大家好#xff01;我们今天开启Java语言的学习之路#xff0c;与C语言的学习内容有些许异同#xff0c;今天我们来简单了解一下Java的基础知识。
一、数据类型
分两种#xff1a;基本数据类型 引用数据类型
#xff08;1#xff09;整型
八种基本数…hello大家好我们今天开启Java语言的学习之路与C语言的学习内容有些许异同今天我们来简单了解一下Java的基础知识。
一、数据类型
分两种基本数据类型 引用数据类型
1整型
八种基本数据类型包括整数型byte1、short2、int4、long8 浮点型float、double 字符型char 布尔类型boolean
其中int、long不管在多少位操作系统当中都是4、8个字节int取值范围 -2^31~2^31-1Integer包装类可以认为这是一个Int类型的plus版本没有有/无符号这一说。long占8个字节取值范围 -2^63~2^63-1长整型变量的初值后要加大/小写的Llong的包装类型是Long。
byte占1个字节位取值范围 -128~127 short占2个字节取值范围 -2^15 ~ 2^15-1 -32768~32767。 计算机内存中的单位有bit、byte、kb、mb、gb、tb、pb除了byte—bit是8之外其余相邻的单位之间都是1024。
public static void main(String[] args) {//数据各个类型的声明方法//字节类型byte x 100;System.out.println(x);System.out.println(Byte.MAX_VALUE);System.out.println(Byte.MIN_VALUE);//短整型short b 10;System.out.println(b);System.out.println(Short.MAX_VALUE);//最大值System.out.println(Short.MIN_VALUE);//最小值//整型int c 10;System.out.println(c);System.out.println(Integer.MAX_VALUE);System.out.println(Integer.MIN_VALUE);//长整型long a 10L;System.out.println(a);System.out.println(Long.MAX_VALUE);System.out.println(Long.MIN_VALUE);} 2浮点型
double双精度①在任何系统下都占8个字节②浮点数和整数在内存中存储方式不同不可以单纯的用2^n的形式来计算具体参考C语言中提到的数据在内存中的存储③double的包装类为Double。
float单精度在Java中占4个字节float的包装类型为Float。同样遵守IEEE 754标准由于表示的数据精度范围较小一般在工程上用到浮点数都优先考虑double不太推荐float。
public static void main(String[] args) {//双精度类型double d 12.5;System.out.println(d);//单精度类型float f 12.5f;System.out.println(f);}
3字符类型
char不同于C语言的是他占两个字节①Java中“单引号单个字母”表示字符字面值
②计算机中字符的本质是一个整数在C语言中使ASCII表示字符而Java中用Unicode表示字符因此一个字符占用2个字节表示字符种类更多包括中文。
public static void main(String[] args) {//字符型,两个字节//存放字母char ch1 a;char ch2 A;//数字字符char ch3 1;//汉字char ch4 龙;System.out.println(ch1);}
4布尔类型
boolean在Java中不用引用头文件可以直接使用没有明确的大小不能和其他类型转换不存在1表示true0表示false不能进行-等运算包装类是Boolean。
public static void main(String[] args) {//布尔类型boolean flg true;System.out.println(flg);}
二、数据类型之间的相互转换 如上图将b的值给a会报错而将a的值给b就不会报错因为int是4个字节long是8个字节如果将long型数据给到int型数据就会造成数据丢失。
1自动类型转换隐式
即:代码不需要经过任何处理在代码编译时编译器会自动进行处理。特点数据范围小的转化为数据范围大的会自动进行。
2强制类型转换显式转换
大数据类型转换为小数据类型当进行操作时代码需要经过一定的格式处理不能自动完成。
特点数据范围大的转换成数据范围小的但是可能会出现精度丢失丢掉小数点or数据溢出
3小于4字节的类型转换问题
因为CPU在内存中进行读写时都是按照4个字节来进行读写所以像byte、char、short在进行运算时都会先提升为int型后在计算如下图 注意事项: 1.不同数字类型的变量之间赋值表示范围更小的类型能隐式转换成范围较大的类型
2.如果需要把范围大的类型赋值给范围小的需要强制类型转换但是可能精度丢失
3.将一个字面值常量进行赋值的时候Java会自动针对数字范围进行检查
4.强制类型转换不一定能功不相干的类型不能互相转换
三、字符串类型 //字符串String str1 hello ;String str2 world;String str3 str1 str2;System.out.println(str3);
上图代码中的String不是包装类而是引用数据类型定义字符串也可以利用“”将两个字符串拼接。
有些情况下可以将int-string相互转换 四、运算符
1算术运算符
基本四则运算符加减乘除模 - * / %
我们来看一组%的运算自己可以预测一下结果
System.out.println(9%2);
System.out.println(9%-2);
System.out.println(-9%2);
System.out.println(-9%-2);
我们来看运行结果 符号的正负和运算符前的数字所带符号有关另外在做“/”和“%”运算时符号右边的数字不能是0。
增量运算符、-、*、/、%:会自动进行数据类型转换 系统及提示你进行替换 。 自增自减运算符、--
【注意】①如果单独使用前置和后置没有任何区别 ②如果混合使用前置是先1后用后置是先用值后1 ③只有变量才能使用自增自减运算符不允许修改的常量不能使用。
2关系运算符
关系运算符主要有六个、!、、、、其计算结果是turefalse。
3逻辑运算符重点
逻辑运算符与有假必假、|| 非有真即真两侧必须是布尔表达式。
短路求值法 和 || 遵守短路求值的规则①System.out.println(102010/00); //打印false ②System.out.println(1020 || 10/00); //打印ture 我们都知道计算10/0会导致程序抛出异常但是上面的代码却能正常运行说明10/0并没有真正被求值。
【注意】: ①对于,如果左侧表达式值为false则表达式结果一定是 false,无需计算右侧表达式. ②对于 || 如果左侧表达式值为true则表达式结果一定是true无需计算右侧表达式. ③但是和|如果表达式结果为boolean时也表示逻辑运算. 但与和 || 相比它们不支持短路求值。
4位运算符
在Java中数据存储的最小单位是字节而数据操作的最小单位是比特位字节是最小的存储单位每个字节是由8个二进制比特位组成的多个字节组合在一起可以表示各种不同的数据。位运算符主要有四个: 、|、~、^ 除 ~ 是一元运算符外其余都是二元运算符。 位操作表示按二进制位运算计算机中都是使用二进制来表示数据的(01构成的序列)按位运算就是在按照二进制位的每一位依次进行计算。 移位运算符了解
移位运算符一共有三个左移、右移、无符号右移都是二元运算符且都是按照二进制比特位来运算的。 还有一个这个比较特殊 【注意】:
1.左移1位相当于原数字*2.左移N位相当于原数字*2的N次方.
2.右移1位相当于原数字/2.右移N位相当于原数字/2的N次方.
3.计算机计算移位效率高于计算乘除当某个代码正好乘除2的N次方的时候可以用移位运算代替.
4.移动负数位或者移位位数过大都没有意义.
5条件运算符
是Java中唯一一个三目运算符条件表达式表达式1 表达式2表达式3
我们来看一道例题
boolean flg truetrue ?(truefalse ?true :false) :true;
System.out.printLn(flg);//false 6运算符优先级
在一条表达式中各个运算符可以混合起来进行运算但是运算符的优先级不同比如: * 和 / 的优先级要高于 和-有些情况下稍不注意可能就会造成很大的麻烦。
//求a和b的平均值
int x 10;
int y 20;
int c a(b-a)1;
System.out.printLn(c);//10 上述表达式中由于的优先级要高于因此a先和b-a的结果做加法整体为20最后再进行右移因此结果为10。 今天Java的知识点先分享到这里小伙伴们可以在评论区留言点赞支持一下吧