复习:
Java三大版本
JavaSE:标准版(桌面程序,控制台开发……)(入门)
JavaME:嵌入式开发(手机,小家电)(几乎没人用了)
JavaEE:E级企业级开发(web端,服务器开发)
JDK:开发
JRE:运行环境
JVM:java虚拟机
JDK包含JRE,JRE包含JVM
java文件:
文件后缀.java
编译命令:javac Hello.java
(生成Hello.class文件)
运行Hello.class文件:java Hello
第一个java程序:
1 | public class Hello{ |
注意:
1.大小写敏感
2.尽量用英文
3.文件名和类名一致
语言分类:
编译型
解释型
(区别(我的理解):编译型就是先编译成可执行文件,然后运行文件(如c),解释型就是根据程序直接运行(如python),解释型更方便但是浪费运算,java两种都可以)
idea:
创建后在src文件夹后写代码
打上psvm回车会自动生成
1 | public static void main(String[] args){ |
sout –> System.out.println();
语法:
1.注释://
/* */
有趣的代码注释:https://blog.csdn.net/ydk888888/article/details/81563608
2.标识符:
(只能字母、美元符、下划线开头,不能作为方法名,大小写敏感)
(不能用数字开头,但神奇的是,竟然能用中文开头做变量名!包括类名。感觉可以利用这个特性搞死外国程序员……)
3.数据类型:
(强类型语言)
基本数据类型:
byte
soert
int
long
float
double
char
boolean (true或false,不能用数字,默认false)
引用数据类型:
类
接口
数组
4.类型转换
容量:低—————>高
byte,short,char->int->long->float->double
强制类型转换(高->低)
1 | int i=128; |
自动转换(低->高)
1 | int i=128; |
注意:
1.不能对bool值进行转换
2.不能转换成不相干的类型
3.可能遇到内存溢出和精度问题
static 类变量
final 常量,不允许改变(只能赋值一次)
运算符:
主要注意位运算符的用法(逻辑)
Math库运用例:
Math.abs(); //绝对值
包机制:
package(放到最上面)
路径
package后面的是src下面到当前文件所在文件夹的路径
语法格式:package pkg1[.pkg2[.pkg3…]];
如
1 | package net.java.util; |
的路径为net/java/util/Something.java
导入包:
1 | (可以用通配符```*```来导入某个包中的所有文件) |
Scanner s=new Scanner(System.in);
if(s.hasNext()){ //判断是否有输入,也可以使用s.hasNextLine()
String str=s.next(); //获取下一串字符串(到空格等截止),也可以使用s.nextLine(),接收一整行
System.out.println(str); //输出字符串
}
s.close() //用完关掉,节约空间
1 | next(): |
public static void main(String[] args) {
for(int i=0;i<args.length;i++){
System.out.println(args[i]);
}
}
1 |
|
dataType[] array; //首选方法,dataType可为int等
//或dataType array[]; //效果相同不首选
//还需要定义大小(分配空间)
dataType[] array = new dataType[arraysize];
array.lenth //求数组长度
//给数组赋值
array[1]=1
```
多维数组
int[][] array;
arrays类:
导入:import java.util.Arrays;
各种数组操作的类
如Arrays.tostring() :将数组转换为字符串
面向对象:
(面向对象编程(OOP),面向对象(OO))
封装
继承
多态
定义方法public String hello(){}
继承extents
super
(访问父类的属性)this
(访问类中的变量,如果什么都不加就是访问方法里的变量)
instanceof(类型转换)(判断两个类之间是否存在父子关系)
abstract(抽象类)(只能被继承,不能实例化)
接口:专业的约束,约束和现实分离:面向接口编程
interface (取代class)
类实现接口 implements