java课程学习笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档



提示:以下是本篇文章正文内容,下面案例可供参考

一、了解JAVA的JDK,JRE以及JVM

JAVA技术主要包括三个方面:Java SE,Java ME,Java EE.

Java SE是基础,其他的Java技术都基于Java SE。Java本书用目前最新版本的Java SE 10介绍Java程序设计。与Java SE 10对应的Java开发工具包称为JDK 10.

 

JVM是Java虚拟机。任何一种可以运行Java字节码的软件均可被看成JVM.

JVM其实就是一个字节码解释器。

JVM和Java的一些类库组装到一起可以让程序正常运行成为了新的概念叫JRE.

JRE称为Java的运行环境,包含JVM和Java类库。

JDK是Java的开发包。包含JRE和java需要的工具。

二、黑窗口执行Java程序

编写Hello World:

first,在电脑任意一个盘中创建一个新的文件夹,在文件夹中创建一个.java文件

second,在.java文件中输入代码

public class Hello{ 
    public static void main(String[] args){
         System.out.println("Hello World"); 
    } 
}

Hello是类名.另外.java的名称必须是类名.也就是public class Hello{}中的Hello.

third,打开cmd,先进入.java所在文档,然后输入javac 文件名,会自动创建一个字节码文件(.class),然后输入java 类名即可输出内容

 

 三、掌握环境变量的配置

环境变量的配置首先要在oracle网站中找到Java语言中的Java SE,然后下载JDK最新版本,下载后在我的电脑中找到高级系统设置,配置环境变量.

要在下方配置JAVA_HOME和path,具体内容如下图所示

 

 

 四、代码格式规范(文件命名、缩进)、注释

代码的大小写要分清.

1. 【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。反例:_name / __name / $name / name_ / name$ / name__

2. 【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。

说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式也要避免采用。

正例:alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同英文。

反例:DaZhePromotion [打折] / getPingfenByName() [评分] / int 某变量 = 3

 3. 【强制】杜绝完全不规范的缩写,避免望文不知义。

 反例:AbstractClass“缩写”命名成 AbsClass;condition“缩写”命名成 condi,此类随意缩写严重降低了代码的可阅读性。

4. 【强制】方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从驼峰形式。

正例: localValue / getHttpMessage() / inputUserId

5. 【强制】常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。正例:MAX_STOCK_COUNT

反例:MAX_COUNT

6. 【强制】抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类命名以它要测试的类名开始,以 Test 结尾。

更多具体内容去CSDN找qq_31351071

注释即对所写的代码进行解释和说明.

注释有三种:

单行注释://注释内容

多行注释:/*注释内容*/

文档注释:/**注释内容*/

具体用法如下图所示:

 

五、数据类型(四类八种、引用数据类型)、数据类型转换

变量:可以发生改变的量

变量的意义:把程序运行过程中产生的值,保存起来,方便后面使用

变量的声明:

数据类型 变量 = 值

数据类型:人对数据进行分类,告诉计算机可以执行的操作

Java的数据类型:

1.int 整数.

2.double 小数.

3.boolean 布尔值.

4.String 字符串.

int:整数:数学的算术运算

+ - * / %

%:求余数

double:小数:数学的算术运算

+ - * / %

double类型的操作基本上和int类型的一样,不过算出的结果一般都是double类型

boolean:布尔值:保存的是一个状态,成立(true),不成立(false)

布尔值主要是用来做条件判断的.

String:字符串:在java中用""来描述字符串

String可以进行+操作,表示字符串的拼接

Java语言中数据类型分为两大类:一类是基本数据类型,另一类是引用数据类型.

基本数据类型在内存中存放的是数据值本身.引用数据类型在内存中存放的是指向该数据的地址,不是数据值本身,往往有多个基本数据类型组成,因此,对引用数据类型的应用称为对象引用.

基本数据类型:整型,浮点型,逻辑型和字符型;

引用数据类型:类,数组,接口;

Java语言定义了4类共8种基本数据类型,其中有4种整型,2种浮点型,1种布尔型和1种字符型.

整型 : byte,short,int,long 范围从小到大, long型变量必以"l","L"结尾

浮点型 : float,double 范围从小到大

布尔型 : boolean

字符型 : char

数据类型转换:

自动类型转换:

 

强制类型转换:

 

 文档:1.了解java的.note
链接:http://note.youdao.com/noteshare?id=2e9fc6099f5f53e275ca6b7787be867b

六、关键字、标识符、常量、变量(作用域)

关键字是Java语言中被赋予特定含义的一些单词,在程序中有着不同的用途,因此Java语言不允许用户对关键字赋予其他的含义.

关键字:

 

 

 

标识符:

标识符是用来表示变量名,类名,方法名,数组名和文件名的有效字符序列.也就是说任何一个变量,常量,方法,对象和类都需要名字,这些名字就是标识符.

 

常量:

常量存储的是在程序中不能被修改的固定值,即常量是在程序运行过程中保持其值不改变的量.

常量也有类型,包括整型,浮点型,布尔型,字符型和字符串型

整型常量:可以用来给整型变量赋值,整型常量可以采用十进制,八进制,十六进制表示.

十进制的整型常量用非0开头的数值表示,如80,-30.

八进制的整型常量用以0开头的数字表示,如016代表十进制的数字14.

十六进制的整型常量用0x或0X开头的数值表示.,如0x3E代表十进制的数字62.

 

 

 

21转化为二进制:

 

21转化为八进制:

 

21转化为十六进制:

 

二进制10101转化为十进制:

 

八进制25转化为十进制:

 

十六进制15转化为十进制:

 

 

变量:

每一种计算机语言都使用变量来存储数据,变量的值在程序运行中是可以改变的,使用变量的原则是"先声明后使用",即变量在使用前必须要先声明.

变量具有四个基本要素:名字,类型,值和作用域.

int i,j,k;

表示同时声明了3个int类型的变量i,j,k

变量的初始化:int i = 0;表示i是int型,初值为0.

七.运算符和表达式

运算符:

一元算术运算符:

 

 

 

逻辑运算符:

 

位运算符:

 

赋值运算符:

 

条件运算符:

 

八.简单输入输出

首先要创建一个扫描器scanner

Scanner sc = new Scanner(System.in);

接着要导包alt+enter.

然后获取数据

sc.nextInt(); sc.nextDouble(); sc.nextLine();

九.顺序结构、分支结构、循环结构、跳转语句

顺序结构:

顺序结构是最简单的流程控制结构.顺序结构就是程序从上到下一行一行执行的结构,中间没有判断和跳转,直到程序结束.

分支结构:

分支结构又称选择结构,是一种在两种以上的多条执行路径中选择一条执行的控制结构,这里所说的执行路径是指一组语句.通常分支结构要先做一个判断,然后根据判断的结果来决定选择那一条执行路径.

switch语句:用来做条件判断的

switch语句的语法:

switch(变量){

case 值1:

xxx

break;

case 值2:

yyy

break;

.......

default

zzz

}

if条件语句:用来做条件判断的

if语句的语法:

if(条件){

xxxxxx

}

逻辑:判断条件是否为true,若为true,就去xxxxxx

if(条件){

xxxxx

}else{

yyyy

}

逻辑:如果条件为真,xxxx否则yyyyy

if(条件1){

xxxxx

}else if(条件2){

yyyyy

}else if(条件3){

zzzz

}else{

mmmm

}

逻辑:如果条件1为真,那就xxxx.否则判断条件2,若为真,那yyyyy.否则判断条件3,若为真,那zzzz.否则mmmm

循环结构:

while循环:

在Java中一共有三种循环:1.while循环 2.for循环 3.do_while循环

while(条件){

xxxxx(循环体)

}

执行逻辑:

判断条件是否为真,如果为真,执行循环体.再次判断是否为真,如果为真,执行循环体.

for循环:

for(条件1;条件2;条件3){

循环体

}

执行逻辑:

先执行条件1,然后判断是否满足条件2,若满足,执行循环体.接着执行条件3,若执行完条件3之后仍满足条件2,接着执行循环体,直到不满足条件2才停止.期间条件1只执行一次.条件2相当于while循环的条件.

条件1:用来初始化循环变量,int i = ?

条件2:判断是否继续执行循环.

条件3:改变循环变量的.i++

do_while循环:

do{

循环体

}while(条件);

执行逻辑:

先执行一次循环体,接着判断是否还满足条件,若满足,继续执行循环体,若不满足,结束.

do_while无论如何都会执行一次循环体

作业:

 

 

跳转语句:

break语句:使循环立即结束

 

continue语句:终止当前这一轮的循环,跳过本轮循环的剩余语句,直接进入下一轮循环.

 

return语句:用来使程序从方法中返回,并未方法返回一个值.结束一个方法

 

十.数组以及数组遍历

数组:具有相同类型的集合

java中的数组创建方式:

类型[] 数组名 = new 类型[大小]

类型[] 数组名 ={数据,数据,数据......}

类型[] 数组名 = new 类型[]{数据,数据,数据....}

怎么用数组:

数组必须配合数组的小标使用.

数组的小标从0开始.

如何查看数组的全部数据:

数组遍历:

for (int i =0;i<arr5.length;i++){ System.out.println(arr5[i]); }

length代表数组的长度

十一.方法的定义,返回值,参数,重载

方法:对功能或者动作的封装.

public static void 方法名(){ 方法体; }

public static void照着写.

方法体:这件事到底应该怎么做.

不可以在方法里定义方法.

方法的调用:方法名();

方法的返回值:执行方法之后得到的结果

public static 返回值类型 方法名(){ 方法体; return 值; }

注意:

1.返回值类型和返回值必须匹配

2.如果写了返回值类型,必须要有返回值

3.如果写了返回值,必须要有返回值类型

4.没有返回值,返回值类型要写void,返回体里就不用写return,或者return后面不跟返回值.

5.return后面不可以写代码了

方法的参数:

参数:在方法执行的时候,给方法传递的信息

public static 返回值类型 方法名(){ 方法体 } 方法(实参)

形参:接收数据

实参:传递信息

在方法中可以有多个参数

注意:

1.参数的数据类型必须匹配

2.参数的个数必须匹配

方法的重载:

重载:方法的名字相同,参数的个数或者类型不同.

在执行的时候,程序会自动根据你给的参数去找对应的方法,执行.

方法的重载可以让我们省去起名字的烦恼

十二.面向对象

 

 

this关键字:

this:当前类的对象

this可以在方法内部获取到对象中的属性信息

this还可以区分局部变量和成员变量

构造方法:

在创建对象的时候,自动调用的方法.

语法:

public 类名(传参){ }

注意:

1.没有返回值这一项

2.在new的时候会自动调用构造方法

作用:

在创建的时候,给对象设置属性信息

java会自动的送给每一个类一个无参数的构造方法,但是,如果你写了构造方法,系统就不再赠送.

构造方法的重载:

构造方法也是方法,也可以进行重载.

作用:可以有更多的方式去创建对象.

使用this可以访问其他的构造方法,this()

static:静态

 

 

静态的内容在内存中是保留一份的,并且各个对象之间进行共享

 

使用p1.country="民国",不推荐这样使用静态变量

推荐使用类名去访问静态变量

特点:

1.数据共享;

2.属于类的,不属于对象

3.优先于对象产生的

 

getter和setter:

成员变量一般使用private来声明,保护成员变量不被胡乱的赋值.

setter:主要是给成员变量赋值,做一定的保护

getter:从成员变量中获取数据

继承:

子类可以拥有除了父类外的其他全部内容

当出现x是一种y的时候,x就可以继承y

黑熊怪是一种妖怪

public class 类 extends 父类{ }

作用:简化代码的开发

子类对父类进行了扩展.

方法的重写:

重写:子类对父类的方法进行重新定义

语法:子类对父类的方法的声明完全一致

重写又被称为方法的覆盖

多态:

定义:同一个对象拥有多种形态

作用:把不同的数据类型进行统一,让程序具有超强的可扩展`性

小知识点:

1.把子类的对象赋值给父类的变量 ->向上转型

缺点;屏蔽到子类中特有的的方法

2.把父类的变量转化为子类的变量 ->向下转型

向下转型有可能有风险.java要求必须要写强制类型转换

(转换之后的数据类型)变量

final:

1.被final修饰的变量不可以被改变,又称为常量

2.被final修饰的方法不可以被重写

3.被final修饰的类不可以被继承来就是不可变

抽象:

抽象:现实中不存在的东西.

在java语言中:只声明,不实现.

抽象方法:使用abstract来修饰,不可以有方法体,直接用分号结束即可

抽象类:如果一个类中有抽象方法,这个类必须是一个抽象类

特点:

1.抽象类不可以创建对象

2.抽象类的子类必须重写父类中的抽象方法,否则,子类也必须是抽象类

通过抽象类,可以强制要求子类中必须有哪种方法

抽象类中可以有正常的方法.

接口:

接口实际上是一种特殊的抽象类.

接口中所有的方法都是抽象方法.

接口使用interface来声明

类只能单继承,接口支持多实现

接口同样具有多态性

接口可以把很多不相关的内容进行整合

特点:

1.接口中所有方法都是抽象方法,都是公开的

2.接口中所有的变量都是全局静态变量

equals和==:

判断左右两端的数据是否一致

equals:object类提供的一个方法,用来判断两个对象是否相等

equals可以自己重写

字符串的判断一定要用equals来判断

参数传递问题:

值传递:把变量的值作为参数进行传递

引用传递:直接把变量作为参数进行传递

Java进行的是值传递

十三.异常处理

异常的定义:

异常就是错误对象.

编译时异常:jjaijasj随便打的,直接飘红

运行时异常:运行时报错

抛异常:运行时出现错误会告诉异常

捕获异常:默认是JVM捕获异常,程序会中断

异常的分类:

异常的家族体系:

 

RuntimeException:运行时异常,一般不手动处理,出问题了再处理

其他Exception:必须要经过手动处理

Error:一般指的是系统级错误

异常的处理 try..catch:

try{

尝试执行的代码

}catch(Exception e){

处理异常的代码

}finally{

最终的

}

异常的处理throws和throw:

throws表示方法准备要扔出一个异常

throw表示直接向外抛出一个异常


总结

提示:这里对文章进行总结:
只是一部分,具体内容要自己形成大致框架

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧鼓近

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值