JAVA开发环境搭建
卸载JDK
- 打开此电脑属性—高级系统设置—环境变量—Javahome(放Java的地方)找到在哪里整个删除
- 返回环境变量清除环境变量,同时清除path中和Javahome相关的都删除
- 打开cmd—输入java -version—输出java不是内部命令也不是外部命令就可以了
安装JDK
- 百度搜索JDK8,找到下载地址
- 同意协议并下载对应的版本
- 双击安装JDK,安装路径找好找的并且有一个单独的jdk文件夹并记住路径
- 配置环境变量
- 我的电脑–》右键–》属性
- 高级系统设置–》环境变量–》系统变量配置–》新建JAVA_HOME(jdk的安装目录,点开jdk的路径,有的话要删干净看上面的卸载)
- 配置path变量–》找到path变量名–》新建变量值**%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin**
- 测试是否安装成功,打开cmd–》输入java -version
JAVA程序编写
-
新建文件夹用来存放代码
-
新建一个JAVA文件
- 文件后缀名为.java
- 注意:如果系统没有显示后缀名,我们需要手动将文件后缀名给打开
-
编写代码
public class Hello{ public static void main(String[] args){ System.out.print("Hello World!"); } }
-
编译javac java文件
可能会遇到的情况:
编译型:一次性编译完(全局翻译)
解释型:一点一点的来(实时更新)
程序运行机制:
源文件(.java文件)—》Java编译器—》字节码(.class文件)—》解释器(操作系统)
IDE
IDE:集成开发环境
IDE官网:http://www.jetbrains.com
尽量不要安装在C盘,然后代码统一放在一个盘
新建project—》生成的名称就是项目名—》在project目录下的src里新建java类
一些快捷输入方式:psvm sout main
设置字体:File—》settings—》editor—》front
可以百度一下idea 的优化
JAVA 基础语法
注释
- 单行注释 英文 // 注释内容
- 多行注释 英文 /* 注释内容 */
- 文档注释 英文 /** 注释内容 */
标识符
- 标识符
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GnjtU3oO-1618823672884)(F:\A-study\picture\关键字.png)]
Java所有的组成部分都需要名字,类名,变量名以及方法名,都被称为标识符
类名{
方法名(参数){
变量名 = “”;
}
}
- 所有标识符都是以字母(A-Z或者a-z),美元符($),或者下划线(_)开始
- 首字符之后可以使字母,美元符,下划线,或者是数字
- 不能使用关键字作为变量名或者是方法名
- 标识符是大小写敏感的
- 可以使用中文名或者是拼音命名,但是尽量不要使用
数据类型
- 强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后使用,安全性高,速度慢:java C
- 弱类型语言:要求变量的使用符合规定但是没那么严格
Java数据类型分为两大类:
-
基本类型
-
数值类型:
-
整数类型
- byte占一个字节(8bit):-128~127
- short占两个字节:-32768~32767
- int占四个字节:…
- long占8个字节:…
-
浮点类型
float占4个字节- double占8个字节
-
字符类型
- char占两个字节
-
-
Boolean类型:占1位,其值只有true和false两个
-
-
引用类型:
- 类
- 接口
- 数组
数据类型扩展
//整数拓展 进制:二进制0b开头 十进制 八进制0开头 十六进制0x开头
int i = 10;
int i2 = 010;//八进制
int i3 = 0x10;//十六进制
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("---------------------------");
//----------------------------------------------
//浮点数扩展 银行业务怎么表示?BigDecimal 数学工具类
//float 有限 离散 舍入误差
//double
float f = 0.1f;//0.1
double d = 0.1;//0.1
System.out.println(f==d);//false
System.out.println(f);
System.out.println(d);
float d1 = 2323233232434243F;
float d2 = d1 + 1;
System.out.println(d1==d2);//true
System.out.println("---------------------------");
//----------------------------------------------
//字符扩展
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println(c2);
System.out.println((int) c1);
System.out.println((int) c2);
//所有字符的本质还是数字
//编码 Unicode 2字节
//转义字符
// \t 制表符
// \n 换行
// \u
System.out.println("Hello\tWorld");
System.out.println("Hello\nWorld");
//对象 从内存分析
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb);//false
String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd);//true
//布尔值扩展
boolean flag = true;
if(flag==true){//和if(flag){}一个意思
//代码要精简
System.out.println("yes!");
}
类型转换
由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
低-----------------------------》高
byte,short,char--》int--》long--》float--》double
运算中,不同类型的数据先转换为同一类型,然后进行运算。
小数的优先级高于整数
自动转换:低到高自动转换
强制转换:高到低强制转换 (类型)变量名
注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换,反之则不用
4.转换的时候可能存在内存溢出或者精度问题
//JDK新特性,数字之间可以用下划线分割;
int money = 10_0000_0000;
System.out.println(money);
int years = 20;
int total = money * years;
long total2 = money * years;
long total3 = money * (long)years;
System.out.println(total);
System.out.println(total2);//默认是int 转换之前已经是int 了
System.out.println(total3);
JAVA基础语法
变量
变量:可以变化的量,JAVA中的每个类型都必须声明其类型,
JAVA变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
type varName [ = value][{,varName[=value]}]
数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量。不建议
注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
注:
- 每个变量都必须有类型,类型可以是基本型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
变量分为:
- 类变量
- 实例变量
- 局部变量
public class demo3 {
static int allClicks = 0; //类变量
String str ="hello world"; //实例变量 从属于对象
public void method(){
int i = 0;//局部变量
}
}
public class demo3 {
//属性:变量
//类变量 static 从属于demo3这个类,会随着这个类一起出现消失
static double salary = 2500;
//实例变量:从属于对象;如果不自行初始化会变成默认值
// 0 0.0 null false
//除了基本类型,其余的默认值都是null
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量 必须声明和初始化值
int i = 10;
System.out.println(i);
//实例变量
demo3 d3 = new demo3();
System.out.println(d3.age);
System.out.println(d3.name);
//类变量 static
System.out.println(salary);//可以直接输出
}
//其他方法
}
常量
常量:初始化后不能再改变的值!不会变动。
所谓常量可以理解为一种特殊的变量,它的值被设定后,在程序运行的过程中不允许被改变。
final 常量名 = 值;
final double PI = 3.14
常量名一般使用大写
所有的变量,方法,类名:见名知意
类成员变量:首字母小写和驼峰原则:monthSalary
局部变量:首字母小写和驼峰原则:除了第一个单词以外,首字母大写
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:Man,GoodMan
方法名:首字母小写和驼峰原则:run(),runRun()
运算符
- 算术运算符:+,-,*,/,%,++,–
- 赋值运算符:=
- 关系运算符:>,<,>=,<=,==,!=,instanceof
- 逻辑运算符:$$,||,!
- 位运算符:& | ^ ~ >> << >>>
- 条件运算符:? : x ? y : z 如果x为true 则返回结果为y,否则为z
- 扩展赋值运算符:+= -= *= /=
优先级的话就打括号
混合运算会自动按照最高类型的来转换
单目运算符
逻辑运算
位运算
字符串连接符
包机制
- 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间
- 包语句的语法格式为:
package pkg1[.pkg2[.pkg3...]]
- 一般利用公司域名倒置作为包名;
- 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用”import“语句可以导入(也可以使用*导入某个包下的所有类):
import package1[.package2...].(classname/*);
Java Doc
javadoc命令是用来生成自己的API文档的
API(Application Programming Interface)即应用程序接口,是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。应用程序接口又称为应用编程接口,是一组定义、程序及协议的集合,通过 API接口实现计算机软件之间的相互通信。API 的一个主要功能是提供通用功能集。API同时也是一种中间件,为各种不同平台提供数据共享。
参数信息
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的JDK版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况