java基础

数据类型扩展

1.float 浮点型 :能够表现的字长是有限的,离散的 舍入误差
2.字符串类型:强制转换可以把字符转换成数字(所有的字符本质还是数字)
3.转义字符:\t : 制表符
\n : 换行符

类型转换

1.不能对bool值进行转换
2.不能把对象类型转换为不相干的类型
3.把高容量转换低容量的时候,强制转换
4.转换时候可能存在内存溢出,或者精度问题
操作比较大的时候(注意溢出)

变量

type varName  [=value ] [ {,varName[=value]}];
//数据类型      变量名 = 值 ;可以使用逗号隔开来声明多个同类型变量(不建议在一行中定义多个值)

1.每个变量都有类型,类型可以是基本类型,也可以是引用类型
2.变量名必须是合法的标识符
3.变量声明是一条完整的语句,因此每一个声明都必须以分号结束
局部变量:必须声明和初始化值(在main方法里面)
实例变量:从属于对象,如果不自行初始化,这个类型的默认值 00.0
布尔值默认为false
除了基本类型,其余的默认值都是null
类变量 :static

常量

常量名一般使用大写字符
命名规范
1.所有变量、方法、类名:见名知意
2.类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写
3.局部变量:首字母小写和驼峰原则
4.常量:大写字母和下划线:MAX_VALUE
5.类名:首字母大写和驼峰原则:Man,GoodMan
6.方法名:首字母小写和驼峰原则:run(),runRun()

运算符

算术:+,-,,/,%,++,–
赋值:=
关系:>,<,>=,<=,==,!=instanceof
逻辑:&&,||,!
位运算:&,|,^,~,>>,<<,>>>(了解)
条件:?:
扩展赋值:+=,-=,
=,/=

位运算:左移<< *2 右移>> /2 (效率高)
字符串连接符 + ,string(空格在运算符前,起连接作用,之后照常)

包机制、javaDoc

package pkg1.[. pkg2[.pkg3...]];

一般用公司域名倒置作为包名

import package1[.package2...].(classname |*);

javaDoc命令是用来生成自己API文档的
@author 作者名
@version 版本号
@since 指明需要最早使用的jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况

java流程控制

1.用户交互Scanner
可以通过Scanner类来获取用户的输入
基本语法

Scanner s = new Scanner(System.in);

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据
2.顺序结构:从上而下,一行一行运行
3.if选择结构
if单选择
if(布尔表达式)
双选择
if else
多选择
嵌套
4.switch选择结构
switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支

switch(expression){
case value :
//语句
break//可选
case value :
//语句
break//可选
default//可选
//语句
}

5.while循环

while(布尔表达式){
//循环内容
}

避免死循环
6.dowhile循环

do{
//代码语句
}while(布尔表达式);

while先判断后执行,dowhile是先执行后判断
do…while总是保证循环体会被至少执行一次
7.for循环

for(初始化;布尔表达式;更新){
//代码语句
}

增强for循环

for(声明语句 : 表达式)
{
//代码句子
}

8.break、continue
1.break在任何循环语句的主体部分,均可用break控制循环流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)
2.continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

java方法

1.java方法是语句的集合,它们在一起执行一个功能
2.方法是解决一类问题的步骤的有序组合
3.方法包含于类或对象中
4.方法在程序中被创建,在其他地方被引用
5.一个方法只做一个功能

调用

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

重载

方法重载的规则
1.方法名称必须相同
2.参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)
3.方法的返回类型可以相同也可以不同
4.仅仅返回类型不同不足以成为方法的重载

递归

递归就是自己调用自己
递归结构包含两个部分:
1.递归头:什么时候不调用自身方法。如果没有头,将陷入死循环
2.递归体:什么时候需要调用自身方法。

数组

声明数组

dataType [] arrayRefVar;  //首选的方法
或
dataType  arrayRefVar[]; //效果相同,但不是首选方法

new操作符来创建数组

dataType [] arrayRefVar = new dataType[arraySize];

二维数组

int a[][] = new int[2][5];
int [][] array = {{1,2},{2,3},{3,4},{4,5}};

面向对象

面向过程的思想:
1.步骤清晰简单,第一步做什么,第二步做什么…
2.面对过程适合处理一些较为简单的问题
面向对象思想:
1.物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。
2.面向对象适合处理复杂的问题,适合处理多人协作的问题。

面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。
三大特性:封装、继承、多态
return代表方法已经结束,return的返回值必须与返回值类型相同

方法调用

实例化这个类 new

Student student = new Student();
对象类型  对象名  = 对象值

引用传递:对象,本质还是值传递

类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物。(需要实例化)
类实例化后会返回一个自己的对象(student对象就是一个Student类的具体实例)
对象是抽象概念的具体实例

构造器

类中的构造器也成为构造方法,是在进行创建对象的时候必须要调用的。

特点

1.必须和类的名字相同
2.必须没有返回类型,也不能写void

作用

1.使用new关键字,必须要有构造器(本质是在调用构造器)
2.用来初始化值

一旦定义了有参构造,无参就必须显示定义

对象的引用

引用类型:基本类型(8)
对象是通过引用来操作的:栈---->堆
属性:字段Filed 成员变量
默认初始化:数字: 0 0.0
char :u0000
boolean ;false
引用:null
修饰符 属性类型 属性名 = 属性值!
对象的创建和使用
-必须使用new 关键字创造对象,构造器 Person tongge = new Person();
-对象的属性 tongge.name
-对象的方法 tongge.sleep()

            类
            静态的属性        属性
            动态的行为        方法

封装

“高内聚,低耦合”
高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用
属性私有 get/set
get 获得这个数据
set 给这个数据设置值
作用:
1.提高程序的安全性,保护数据
2.隐藏代码的实现细节
3.统一接口
4.系统可维护增加了

继承

1.JAVA中类只有单继承,没有多继承
2.子类继承父类,就会拥有父类的全部方法
3.在java中所有的类,都默认直接或间接继承Object
4.私有的东西无法被继承
5.隐藏代码:调用了父类的无参构造
6.调用父类的构造器,必须要在子类构造器的第一行

super注意点:

1.super调用父类的构造方法,必须在构造方法的第一个
2.super必须只能出现在子类的方法或者构造方法中
3.super和this不能同时调用构造方法
super和this
代表的对象不同:
this:本身调用这个对象
super:代表父类对象的应用
前提
this:没有继承也能使用
super:只能在继承条件下才可以使用
构造方法
this();本类的构造
super():父类的构造

方法重写

需要有继承关系,子类重写父类的方法
重写都是方法的重写,与属性无关
方法的调用只和左边,定义的数据类型有关
特点:
1.方法名必须相同
2.参数列表必须相同
3.修饰符:范围可以扩大不能缩小: public>protected>default>private
4.抛出异常:范围,可以被缩小,但不能扩大
重写:子类的方法和父类一致,方法体不同

多态

1.多态是方法的多态,属性没有多态
2.父类和子类,有联系 类型转换异常
3.存在条件:继承关系,方法需要重写,父类引用指向子类对象

Instanceof和类型转换

1.父类引用指向子类的对象
2.把子类转换为父类,向上转型
3.把父类转换为子类,向下转型 需要强制转换
4.方便方法的调用,减少重复的代码

接口

声明类的关键字是class,声明接口的关键字是interface
作用:
1.约束
2.定义一些方法,让不同的人实现
3.public abstract
4.public static final
5.接口不能被实例化,接口中没有构造方法
6.implements可以实现多个接口
7.必须要重写接口中的方法

异常机制

异常处理五个关键字:try、catch、finally、throw、throws

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值