java基础(1)--数据类型和操作符


首先说一下感想 这是我第一个博客 也希望能将自己写博客长久的写下去 首先想对自己所学过java基础的知识做一个比较系统的知识总结,我学这部分知识主要是看的第一本书《java疯狂讲义》和第二本书《java编程思想》,所以所写的内容也就是我对于这两本书中知识点的总结,知识的顺序也是也是按照这两本书知识所罗列的顺序而来。希望通过总结知识点来讲自己的所学知识进行更加牢固的掌握。

1 数据类型

1.1java有八大数据类型

整数类型:一个字节byte,两个字节short,四个字节int,八个字节long。

字符类型:两个字节char

浮点类型:4个字节 float 8个字节double

布尔类型 boolean 一字节

1.2基本类型的类型转换

 转换的类型有自动转换,强制转换和自动提升三种形式

自动转换:java所有的数值型变量可以相互转换,如果系统支持吧某种基本类型的值直接赋值给另一种基本类型的变量,则这种方式的转换称为自动转换。当吧一种范围小的数值或变量赋给另一个表数范围大的变量是,系统将可以进行自动类型转换。

byte<short<int<long<float<double; char可以转换成int类型的

强制类型转换: 如果希望将上面的类型变量由大到小转换就需要进行强制类型转换。如下所示:

在上面的程序中,把一个浮点数强制类型转换为整数时,java将直接截断浮点数的小数部分。除此之外,吧233强制类型转换为byte类型的整数,从而变成23,就是是典型的溢出。

自动类型提升:一个算术表达式包含多个基本类型的值时,整个数算表达式的数据类型将发生自动提升,java定义了自动提升的规则如下

所有的byte类型 short类型和char类型将被提升到int类型。

整个算术表达式的数据类型自动提升到与表达式中最高等级操作数同样的类型


除法运算即使无法除尽,也将得到一个int类型结果


2 操作符

首先介绍java操作符 java语言和面向对象这两章节以后有机会在做总结 ,从java操作符开始。

操作符接受一个或多个参数,并生成一个新值。表达式有多个操作符时,操作符的优先级就决定了各部分的计算顺序。最简单的就是先乘除后加减。程序员经常会忘记其他优先级规则,所以应该用括号明确规定计算顺序。

2.1算术运算符

+ - *  运算符很简单不多做介绍了 / 除法运算符有些特殊,如果除法运算符的两个操作数都是整数类型,则计算结果也就是整数。19/4 结果是4 不是5 。如果除法运算符的两个操作数都是整数类型,则除数不可以是0.否则将引发除以0 异常。但是如果除法运算符的两个操作数都是浮点数或者有一个是浮点数,则计算结果也是浮点数,这个结果就是自然除法的结果。而此时允许除数是0,或者0.0,得到的是正无穷或者负无穷(Infinity)(-Infinity)

% 求余运算符 求余运算的结果不一定是整数,他的计算结果是使用第一个操作数除以第二个操作数,得到一个整除的结果后剩下的值就是余数。

++: 自加。该运算符有两个要点 1 只能操作一个操作数 2 自加运算符只能操作单个数值型的变量。

2.2赋值运算符

通常,使用赋值运算符将一个直接量的值赋给变量

String str="java";  double pi=3.14;

int a; int b; int c; a=b=c=7;

2.3位运算符

java 的位运算符有7个

&: 按位与。当两个位同时为1时才返回1;

| : 按位或。只要有一位为1即可返回1.

~:按位非。单目运算符。将操作数的每个位全部取反。

^ : 按位非。单目运算符,将操作数的每个位(包括符号位)全部取反。

<<左移运算符

>>右移运算符

>>>无符号右移运算符 右移后 前面的位全部按0来填充

扩展赋值运算符 += ,-=

2.4比较运算符

比较运算符用于判断两个变量的大学,比较运算的结果是一个布尔值。java支持的比较运算符如下。

>大于,只支持左右两边操作数是数值类型。如果前面的变量的值大于后面变量的值,则返回true

>=大于等于,只支持左右操作数是数值类型。

<小于

<=小于等于

==等于

!=不等于

2.5逻辑运算符

&& 与 前后两个操作数必须都是true才返回true,否则返回false

&不短路 作用于&&相同但是不会短路

||:或,只要两个操作数中有一个是true,就可以返回true。否则返回false

| 作用||相同但是不会短路

!:非。如果操作数为true,则返回false ,如果操作数为false则返回false

^:异或,当两个操作数不同时才返回true,如果两个操作数相同则返回fasle



上面的执行结果是: c的值为5 ,而d的值为10.  d++没有机会获得执行



2.6 三目运算符

String str=5>3?"5大于3":"5不大于3";









猜你喜欢

转载自blog.csdn.net/qq_40182703/article/details/80055833