首页 > 其他 > 详细

第一阶段学习总结

时间:2021-02-01 21:57:02      阅读:32      评论:0      收藏:0      [点我收藏+]

Java 的数据类型分为两大类

 

基本类型(primitive type):

整数:byte 1字节

short 2字节

int(默认)4字节

long 8字节

浮点数:float 4字节

double(默认)8字节

金融计算用的浮点数为BigDecimal

字符: char 2字节

ascii占1个字节

utf-8占3个字节

Unicode占两个字节

\u0000转译字符

\b退格键

\n换行

\r回车

\t制表

布尔值: boolean 1字节

if(a):表示如果a=true

 

引用类型(reference type):

接口

数组

进制

0b二进制

0x十六进制

0八进制

 

八进制的10是8

十六进制的10是16

# 类型转换

小数的优先级一定大于整数

由低到高

byte,short,char->int->long->float->double

运算中,不同类型的数据先转换为同一类型,然后进行运算

强制类型转换-------低转高

自动类型转换--------高转低 (低)高

变量

变量

 type varName[=value];

 

java 是一种强类型语言,每个变量必须声明其类型

Java 变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

type varName =value}];

//数据类型 变量名=值;可以使用逗号隔开来声明多个同类型变量

注意事项

每个变量名都有类型,类型可以是基本类型,也可以是引用类型

变量名必须是合法的标识符

变量声明是一条完整的语句,因此每个变量名都必须以分号结束

变量作用域

类变量 写在static 后面的变量

实例变量:把static去掉

局部变量:在方法里面

变量名命名规范

所有变量、方法、类名:见名知意

类成员变量:首字母小写和驼峰原则:除了第一个单词以外的其余单词首字母大写:monthSalary

局部变量:首字母小写和驼峰原则

常量:大写字母和下划线:MAX_VALUE(单词比较多,加下划线)

类名:首字母大写和驼峰原则:Man,GoodMan

方法名:首字母小写和驼峰原则:run().runRun()

基本运算符

算术运算符 + - * / ++ -- %

取余运算叫模运算:%

赋值运算符:=

逻辑运算符 :&&与 ||或 !非

位运算符: & |^ ~ >> <<

关系运算符:==:等于 !=instanceof > < >= <= !=

条件运算符 ?:

扩展运算符:+= -= *= /=

包机制

包机制:

域名倒写

防止命名冲突

package

import

为了更好地组织类,JAVA提供了包机制,用于区别类名的命名空间

包语句的语法格式为:

packag pkg1[.pkg2[.pkg3...]];

JAVA Doc

javadoc命令是用来生成自己API文档的

参数信息

@author:作者名

@version版本号

@since 指明需要最早使用的jdk版本

@return 返回值情况

@param 参数名

@throws 异常抛出情况

 public class HelloWorld{
  /**
  *@author kuangshen
  *@param args no
  *@since 1.0
  *@throws null
  */
  public static void main(String[]args){
  System.out.println("hello");
  }
 }

 

技术分享图片

流程控制

Scanner: 用户交互Systemin

顺序结构:程序默认的结构,自上而下执行

选择结构:if 但选择结构

if -else双选择结构

if-else if -else 多选择结构

switch :jdk支持了字符串

case穿透现象

break

default默认

 

循环结构: while:尽量避免死循环

do..while

for

for each:增强for循环

break&continue :break:跳出循环

continue:终止当次循环,进行下一次循环

return:结束方法的运行

带标签的continue

方法

方法的定义:

 修饰符 返回值  方法名(参数名){
 return 返回值;
 }

方法的调用:

方法名

对象.方法

方法重载:

名字相同,参数列表不同

 

命令行传参:给main方法传递参数

 

 public class HelloWorld{
  /**
  *@author kuangshen
  *@param args no
  *@since 1.0
  *@throws null
  */
  public static void main(String[]args){
  for(int i = 0;i< args.length;i++){
  System.out.println(args[i]);
  }
  }
 
  }
 ?

 

技术分享图片

可变长参数:...必须放在最后一个参数

递归: 自己调用自己,给自己一个出口

面试常常问 必须会

数组

数组的定义:

new int[5]

{1,2,3,4,5}

必须是同一个类型

数组的使用:

通过下标拿到值

ArrayIndexoutofBounds:数组下标越界

增强for循环遍历

二维数组:

int

Arrays工具类

排序算法:

冒泡排序

选择排序

插入排序

快速排序

归并排序

希尔排序

堆排序

基数排序

面向对象

类与对象:

类是对象的抽象:模板Class

对象是类的具体

构造方法:

构造的重载:

默认的无参构造

如果手动定义了有参构造就必须要手动再加一个无参构造

单例模式,需要构造器私有

 

new对象:

栈存放引用

堆存放具体的对象

封装:属性私有,get,set

继承:

extends

Object

子类拥有父类的全部特性

方法重写

this

super

java 是单继承,只能继承一个父类

多态:

父类的引用指向子类的对象 Person person = new Student();

instanceof关键字,如果匹配,可以进行类型之间的转换

修饰符:

public

protected

private

static

final

abstract

接口:

interface

约束,只能定义方法名

子类实现接口,必须重写其中的方法

只有一个方法的接口叫做函数式接口,可以使用lambda表达式简化

接口比抽象类更抽象

一个类可以实现多个接口

内部类:

局部内部类

静态内部类

匿名内部类(重点)

 

异常

Throwable:

Exception:

运行时异常:

1/0

ClassNotFound

NullPoint(空指针)

UnKownType

下标越界异常

检查型异常

Error:

AWT错误

JVM错误:

StackOverFlow:栈溢出

OutOfMemory:内存溢出

五个关键字:

try

catch(){}(先小后到)

finally{}

throw:方法内部手动抛出异常

throws:方法抛出异常(方法外部)

自定义异常:

继承Exception类即可

 

 

 

 

 

 

第一阶段学习总结

原文:https://www.cnblogs.com/doudoutj/p/14359015.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!