java基础概念总结

连续接触Java也有一周时间了,每天都感觉时间不够用,却又不知道时间去哪里的感觉,总感觉有好多事要做,却又无从下手,不知道会不会有人跟我一样有同样的感受。对于我这种数学不好逻辑思维不强的女生来说,学一门语言还是比较吃力的,反应没别人那么快,接受新知识的能力也要差。所以现在就开始后悔以前学c、c++、c#的时候不上心,只是应付考试,总是书到用时方恨少啊!
下面就总结一下基础概念吧。
一、基本类型
1、整数型
byte  字节型 8bit -128 ~ 127
short 短整型 16bit[2字节] -32768 ~ 32767
int  整型 32bit[4字节] -21亿 ~ 21亿
long 长整型 64bit[8字节]   -800亿亿 ~ 800亿亿
8901234567890123456
java中的整数类型默认是int型的,如果要声明long类型的,最好在数字后面加上L

2、浮点数
float 单精度32bit   只保留8位有效数字,最后一位不精确的
double 双精度 64bit   保留16位有效数字,最后一位不精确的


1.2345678 = 123445678*10的负7次方
Java中的浮点数默认是double类型的,如果要声明float类型,需要在数字后面加F

3、字符型
char  16bit  [2字节]0 ~ 65535

'a' 'A' '0' '中'
每一个字符都对应一个数字,这个数字叫这个字符的Unicode编码


4、布尔型
boolean  1bit  true、false
二、运算符:
1、赋值运算符:=
int a=10;
int b=20;
a=b;

2、算术运算符:+、-、*、/、%

/  两个整数相除是取整
除数和被除数中只要有一个为浮点数就会除尽
% 不管是整数还是浮点数,都是计算整除后的余数

3、关系运算符 关系运算符的结果是一个boolean值:==、!=、>、<、>=、<=


4、逻辑运算符 用来对逻辑值进行运算,运算结果还是一个逻辑值

! 逻辑取反  非真即假  非假即真

&& 短路与  都为真,才为真
  如果出现为假的条件,就短路【就不再计算后面的表达式】
  将最可能为假的写在前面

& 逻辑与  都为真,才为真
不管是真是假,都会计算完所有的表达式

|| 短路或  只要有真,就为真
  如果出现为真的条件就短路
  将最可能为真的条件写在前面

| 逻辑或  只要有真,就为真
不管是真是假,都会计算完所有的表达式

5、条件运算符[三目运算符,三元运算符]:? :
表达式1?表达式2:表达式3
表达式1的运算结果一定是一个逻辑值
当表达式1为真的时候,就执行表达式2
否则,执行表达式3

三、流程控制:
程序的结构:
顺序:程序按照代码的编写顺序一行一行依次执行
分支:程序会按照一定的条件有选择的执行某一些代码
if
if else
if else if else if  else
switch  case  default
注意点:switch的值从jdk1.7开始允许使用字符串,以前只能用整数

循环:按照条件重复执行
for 侧重用在知道次数的循环,或者需要下标的循环
while 侧重用在不确定次数的循环

do while 不管条件是否成立,都会先执行一次循环体,再判断循环条件

for和while     先判断条件是否满足,如果满足,再执行循环体

跳转
continue 结束当前这一次循环,跳转到下一次循环
break 结束整个(本次)循环,跳转到循环结束之后
return 结束整个函数,跳转到函数结尾
goto[保留关键字]

四、类和对象
1、如何定义类: 
public class A{
//构造方法
public A(){

}
//属性
private int t;

//方法
public void test(){

}
}
2、类的使用:
调用构造方法创建对象   A a  = new A();

3、对象调用属性和方法
a.t=100;
a.test();

4、方法的重载:在同一个类中方法名相同,参数列表不同[个数,类型,顺序]
五、类的继承:
1.为什么需要继承?
反映真实的关系
减少代码的冗余
可以对父类进行修改和完善

继承的使用场景:要使用一个类,但又发现不是很好用,
这时就会定义一个类来继承这个类,然后重写父类的方法或者增加新的方法

2.如何继承
public  class B extends A{}

3.类型的转换
自动转型:子类对象的类型可以自动转成父类类型
强制转型:将父类对象的类型强制转成子类类型

4.子类特有的属性和方法的调用
必须声明的是子类类型的对象才能调用子类特有的方法

5.子类重写的方法的调用
对象是调用父类的方法还是子类重写的方法,取决于对象本身的类型[new的是什么类型]

6.方法重载和重写的区别
重载是在同一个类中有多个同名不同参数的方法
重写是在子类中定义一个和父类中同名同参数同返回值的方法

7.多态
               动态多态:由于继承和重写机制,相同类型的对象,调用相同的方法,得到的结果可能不一样
静态多态:由于方法的重载导致的多态

面向对象的三大特征:封装     继承    多态

猜你喜欢

转载自sunflower-13.iteye.com/blog/2317259