IDEA用着用着发现旁边出现一个名为out的文件夹,还是黄色的,不用担心,这是正常现象,如果误删了也不用担心,你再次运行文件又会生成的
介绍java
开发java程序需要经历:编写,编译,运行
代码文件名称,后缀必须是.java。javac 是 Java 编译器的命令行工具
代码文件的名称,必须与代码里所谓的类名称一致
IDEA创建的java项目的代码结构:工程(project),模块(Module),包(Package),类(Class)
特性与优势:简单性,面向对象,可移植性,高性能,分布式,动态性,多线程,安全性,健壮性
编译一次,无数次运行
hello world详解:
public class Hello {
//类
public static void main(String[] args) {
//main方法
System.out.println("Hello, World!");
}
}
//类里面除了方法,还可以定义一些属性
//其他方法:
public void add(){
}
Java是大小写敏感的,尽量使用中文
public class这是一个类,后面紧跟着类的名字Hello
main是方法,程序必须通过main方法才能运行
编译型语言,解释型语言:java既有编译型特点,也有解释型特点。编译型是把一本中文书直接翻译成英文版,解释型是让一个翻译官实时翻译,走一句执行一句
操作系统一般用编译型去做,网页一般用解释型去做。
写代码:小写l容易被看成1,所以写这个字母统统写成大写L
基本语法
注释
有三种:单行注释,多行注释,文档注释
单行注释://
多行注释:/* */
文档注释:JavaDoc/*开头,
/**
* @Description HelloWorld
* @Author zxy
*/
标识符和关键字
关键字包括:
修饰符关键字:public、protected、private、static、final、abstract
访问控制关键字:public、protected、private、default(默认)
类、接口和包关键字:、class、interface、enum、package、import、extends、implements
方法关键字:void、return、this、super
流程控制关键字:if、else、switch、case、default、while、do、for、break、continue、return
异常处理关键字:try、catch、finally、throw、throws
逻辑关键字:true、false、null
其他关键字:new、instanceof、synchronized、transient、volatile、assert
Java的所有组成部分都需要名字,类名,变量名以及方法名都被称为标识符
example:简单的定义一个变量:String teacher=“zhangxuanyu”;
所有字符都应以字母,$,下划线开始
不可以使用关键字作为变量名或者方法名
标识符是大小写敏感
数据类型
强类型语言:要求变量使用严格符合规定,所有变量必须先定义后使用
数据类型分为2个类:基本类型,引用类型
基本数据类型:
数值类型 | 整数 | byte1个字节,short2个字节,int4个字节,long8个字节。long类型要在数字后面加L,如10L |
---|---|---|
数值类型 | 浮点类型 | float4个字节,double8个字节。float类型要在小数后面加F,如54.1F |
数值类型 | 字符类型 | char两个字节。字符 ——char name=‘张’; 字符串 ——String name2=“小张”; |
boolean类型 | 占1位其值只有true和false两个。boolean flag=true; |
引用数据类型:类,接口,数组
小技巧:psvm=
public static void main(String[] args) {
}
变量:可以变化的量
数据类型扩展
- 进制问题:
二进制0b 八进制0 十六进制0x 要会算
- 浮点数问题:
float a=0.1f;
double b=1.0/10;
结果都是0.1,但是a==b为false
float a = 66546656314f;
double b = a+1;
但是a==b为true
因为浮点数存在舍入误差,结果接近但不等于,最好完全避免使用浮点数进行比较。那遇到小数怎么办?用类BigDecimal
- 字符问题:
public class data {
public static void main(String[] args) {
char m='a';
char n='中';
System.out.println(m);
System.out.println((int)m); //强制转换
System.out.println(n);
System.out.println((int