一、数据类型

1.基本数据类型

Ps:有效标识符:_、字母、$开头  之后可有数字

整型:byte 1 short 2 int 4 long 8  (字节)

取值范围:其范围是从负2 的该数据类型位数减1次幂到2 的该数据类型位数减1 次幂– 1。

2.浮点型

float 4            double 8   (字节)

取值范围:6~7 位有效数字             15 位有效数字

注意:float 类型的数值必须加一个后缀F

例:如果不加后缀F,这个数据就会被Java 理解成

double 类型。也可以在double 类型的数值后加上D,例如3.14D。

各类型的默认值:byte、int、short 的默认值是0,long 的默认值是0L,float 的默认值是0.0f,double

的默认值是0.0,char 的默认值是’\u0000’代表空格,boolean 的默认值是false。

3.char 类型

16 位无符号的Unicode 字符

注意: char 字符必须在英文状态下的单引号内(’’)。

一个char 类型的数据仅仅表示一个字符,如果需要表示多个字符(这称为字符串)需要使

用String 类来表示

注意:char类型的字符实际也可以当做数字加减!!

char i = 'A';

char j = 'a'+15;

int b = j - i;

例:

’a’ 小写字母a

’\t’ 制表符

’\u????’ 特定的Unicode 字符。

4.布尔型

true false   注意:不能相互转换!!

5.引用类型:

除了基本数据类型之外的都是引用类型

二、变量

概念:变量是一段有名字的连续存储空间。在源代码中通过定义变量来申请并命名这样的存储空间,并通过变量的名字来使用这段存储空间。

变量名的命名规则:

1、一般是一个有意义的英语单词或词组,以小写字母或者下划线“_”开头。

2、如果变量名由多个单词组成,除第一个单词外,后面每个单词的第一个字母都需要大写,类似于方法名,如isValid、currentJavaObject 等。

3、避免使用美元符号($),这个符号对内部类有特殊意义。

注意:声明一个变量后必须用赋值语句对变量进行显示初始化,如果使用未被初始化的变量可能会造成编译错误。

二、基本类型之间的转换的注意要点:

图中实线箭头表示精度不会有损失的转换,虚线箭头表示转换完成后可能有精度损失

类型转换:1.长度短的类型自动转为长度的类型

2.精度小的类型自动转为精度高的类型

3.当两个精度不一样的数相互计算时,其结果自动转为精度高的值。

4. 凡是长度小于int 的数据类型(即使参与计算的两个数都是short或者byte),其运算结果都会转变成int类型。

5.若要从高精度 |长度大的数据转换为低精度|长度小的数据,需要强制转换,(数据会损失精度)。

三、算数运算

注意:1.整数除以0,或抛出异常  java.lang.ArithmeticException: / by zero

2.浮点数除以0,会得到Infinity(无穷大)。(并不是异常)

3. %表示整数的求余运算

4. ++i。 “前缀”形式是先运算,再做其他操作;    i++。  “后缀”形式是先做其他操作,再运算

例子:int i = 10;

System.out.println(i++);//输出的是10  若是++i则输出11

5. 没有 ** 和 // 运算符,因为自乘1 和自除以1 数值结果不会改变。

6. ~非  :按位取反

&与:同1为1,其余为0

异或:两数不同时为1,其余为0

或:有1时为1,其余为0

7.右移运算符>>移位结果是:第一个操作数被2 除,

除的次数由第二个操作数决定。例如:

128>>1 返回 128/21 = 64

-256>>4 返回 -256/24 = -16

“<<”将二进制位进行左移操作。其操作结果是:第一个操作数被2 乘,乘的次数由第二个操作数决定。

例如:

128<<1 返回 128*21 = 256

注意: 有>>>(逻辑或无符号右移运算符)   但是没有<<<

四、关系运算符

注意:1. &和&&的区别是什么?

答:a.  和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true 时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

b.  &&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式。

c.  &还可以用作位运算符,当&操作符两边的表达式不是boolean 类型时,&表示按位与操作。

2. ( = *= /= %= += -= <<= >>= >>>= &=  ^= |= )这些运算符优先级最低

3. &&比||优先级高

4.优先级:& > ^ > |

5. +=是右结合运算符

表达式

a+=b+=c

等价于

a+=(b+=c)

五、语句块

注意:1. 语句块确定了变量的作用域。(在一个语句块内定义的变量,不可以再语句块之外使用。)

2. 不允许在嵌套的两个块内声明同名的变量。

六、Switch分支

注意:1. switch 表达式中的类型有哪些?

答:switch 表达式的结果必须是 四种整型、枚举类型、String(JDK1.7以上版本,否则不能测试String 类型),case 后面一定是常量,并且不能重复。

七、while循环

注意:1. 当一次循环结束后会再次检查while 条件的返回值,如果为false 就退出循环,否则继续执行循环。

2.continue 和 break的区别:

答: 前者 只是终止当前的一次循环 ,还将继续后面的循环 ;后者被执行后,就终止循环。

JAVA_SE复习(basic)的更多相关文章

  1. 7.JAVA_SE复习(文件)

    文件和流 1.什么是节点流和处理流 InputStream & OutputStream Reader & Writer 乃节点流, 前面加File之类的名词 的节点流 其余加动词的均 ...

  2. 6.JAVA_SE复习(集合)

    集合 结构图: 总结: 1.集合中的元素都是对象(注意不是基本数据类型),基本数据类型要放入集合需要装箱. 2.set与list的主要区别在于set中不允许重复,而list(序列)中可以有重复对象. ...

  3. JAVA_SE复习(多线程)

    线程 1.两种创建线程的方式都有自身的优点.  实现 Runnable 接口的优点:  从面向对象的设计观点看,Thread 类严格来讲是一个虚拟CPU 的封装,因此只有要改变或扩展该CPU 模型 ...

  4. JAVA_SE复习(异常)

    异常.调试和断言 一. 异常的分类 1. 可查异常    例: 2. 不可查异常  例:Runtime Exception 3. 异常的分类结构: 1. 不执行finally 子句的唯一情况是虚拟机关 ...

  5. JAVA_SE复习(OOP2)

    面向对象编程(二) 一.static 关键字 静态属性 1.不能覆盖静态方法.要被覆盖的方法必须是非静态的.在继承链中具有相同方法名的两个静态方法是两个互相独立的类方法.调用子类的静态方法只是将父类的 ...

  6. JAVA_SE复习(Class)

    一.面向对象程序设计(OOP) 1.面向对象的程序设计是程序开发的一种方法.它将对象作为程序的基本单元,将程序和 数据封装其中,以提高软件的重用性.灵活性和扩展性 2.三个特征: 封装:隐藏信息 继承 ...

  7. JAVA_SE复习(OOP1)

    面向对象编程(一) 一.继承 1. 在类图表示中,使用一个分为三块的矩形表示一个类.矩形的第一块表示类名,第二块描述这个类的属性及属性的数据类型,第三块描述这个类的操作,也就是方法以及返回类型.    ...

  8. [Java复习] Java基础 Basic

    Q1面向对象 类.对象特征? 类:对事物逻辑算法或概念的抽象,描述一类对象的行为和状态. OOP三大特征,封装,继承,多态 封装:隐藏属性实现细节,只公开接口.将抽象的数据和行为结合,形成类.目的是简 ...

  9. C#复习①

    C#复习① 2016年6月15日 08:19 Main Introduction of C# 简单介绍C# 1. C# is very similar to Java (70% Java, 10% C ...

随机推荐

  1. SAP BW 重新初始化

  2. Jetty学习(一)

           最近做一个项目,需要动态添加与移除servlet容器的http端口,并且启动都是嵌入式的.因此,果断选择了Jetty.        在模块化方面,Jetty是做的相当给力的一个容器,对 ...

  3. Ruby on Rails Tutorial 第四章 Rails背后的Ruby 之 字符串

    1.辅助方法 2.字符串 输入“irb”进入Ruby命令行开发环境,控制器的启动方法是在命令行中执行“rails console”. (1)字符串连接 >>"foo"+ ...

  4. Lua调用自定义C++类

    弄了一天终于会Lua调用自定义C++类.不容易啊. 我的电脑是64位的,装了64的Python不行,装了32位的就可以了,靠!下面是报错信息 python pyyaml Cheetah全都是装32位的 ...

  5. 真机下, 如何在File Explorer里看data下的数据?

    首先手机得Root , 你如果想单个单个的看, root explorer可以设置Permission Other下的两个权限点上就ok了. 如果想看到所有的, 即子目录也可以看到, 只需要adb r ...

  6. Linux(Debian) vps安装gnome桌面+VNC

      昨天转载了一篇关于在Linux VPS上安装xface桌面并VNC连接的文章,因为文章是基于CentOS系统来操作的,有热心读者希望有一个Debian下的类似的东西,这就促成了今天的这篇文字.需要 ...

  7. oracle 直接客户端使用

    到oracle网站下载直接客户端,http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.htm ...

  8. Installing MySQL Connector/Python using pip v1.5

    The latest pip versions will fail on you when the packages it needs to install are not hosted on PyP ...

  9. ArcGIS Server 10.2 实战(二)动态修改要素数据的地理处理服务

    上一篇<ArcGIS Server 10.2 实战(一)Asp.net MVC与JSON数据妙用实现动态生成要素图层>介绍了如何用JSON转要素的地理处理服务,实现了动态创建点要素并加载到 ...

  10. WIN7 X64 如何运行debug

    WIN7 X64 如何运行debug 下载debug.exe 安装dosbox 安装完成后将debug.exe放入某个盘的根目录下(以c盘为例) 然后运行dosbox,输入 mount c c:\ c ...