提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
提示:以下是本篇文章正文内容,下面案例可供参考
一、了解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表示直接向外抛出一个异常
总结
提示:这里对文章进行总结:
只是一部分,具体内容要自己形成大致框架