一、编译型和解释型
编译型:一次编译,无限次运行
解释型:边编译边运行
二、IDEA安装
解压之后再jetbrains-agent文件夹---》README.txt 里面有教程
三、IDEA Hello,World
1、IDEA优化,直接百度,后面会讲
2、快捷键 psvm、sout
3、file---》setting---》font可以调字体
四、JAVA基础语法
这次创建的是空项目,需要完成下面的配置
1、注释、标识符、关键字
关键字:
标识符:
2、数据类型
import java.sql.SQLOutput;
public class Demon02 {
public static void main(String[] args) {
//整型
byte num2=22;//<127
short num3=30;
int num1=10;
long num4=40L;//加大写L
//浮点数
float num5=2.3F;//加大写F
double num6=3.14;
//字符
char name='唐';
//布尔值
boolean flag=true;
//字符串 不是关键字,是类
String a="Hello";
//输出
System.out.println(a);
System.out.println(num1);
System.out.println("=====================================");
//整数拓展 进制 二进制,十进制,八进制0,十六进制0x
int i=10;
int i2=010;
int i3=0x10;
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
//浮点数拓展 银行业务怎么表示
//float 有限,离散,大约接近但不等于
//double
//不要用浮点数进行比较!!//不要用浮点数进行比较!!//不要用浮点数进行比较!!
System.out.println("=====================================");
float f=0.1f;
double d=1.0/10;
System.out.println(f==d);
float d1=222222222222222f;
double d2=d1+1;
System.out.println(d1==d2);
//字符拓展
//所有字符本书还是数字
System.out.println("=====================================");
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int)c1);//强制转换
System.out.println(c2);
System.out.println((int)c2);
//转义字符 \t 制表符 \n 换行
System.out.println("=====================================");
System.out.println("Hrllo\tworld");
System.out.println("Hrllo\nworld");
//布尔值拓展
boolean flag1=true;
if(flag1){ //即if(flag==true)
System.out.println("真");
}
}
}
3、类型转换
public class Demon3 {
public static void main(String[] args) {
//高到低,强制转换
int i=128;
byte b=(byte)i;//内存溢出,数据变形
//低到高,自动转换
double c=i;
/*
*1、不能对布尔值进行转换
*2、转换过程会出现内存溢出现象
* */
System.out.println(i);
System.out.println(b);
System.out.println(c);
System.out.println("==================================");
//数字之间可以用下划线分割
int money=10_0000_0000;
int year=20;
long total=money*year;//默认是int,转换之前已经出现问题
long total2=money*((long)year);//先把一个转换为long
System.out.println(total);
System.out.println(total2);
}
}
4、常量、变量
public class Demon4 {
//属性:变量
//类变量,驼峰原则:lastName
static double salary=2500;
//常量,同c++里的const,全部大写+下划线:MAX_VALUE
static final double PI=3.14;
//实例变量:从属于对象,如果不初始化,这个类型的默认值
//布尔值默认false,除了基本类型,其余都是null
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量:必须声明和初始化
int i=0;
System.out.println(i);
//变量类型 变量名字 = new Demo08();
Demon4 demon4=new Demon4();
System.out.println(demon4.age);
System.out.println(demon4.name);
System.out.println(salary);
System.out.println(PI);
}
//其他方法
public void add(){
}
}
5、运算符
package base;
public class Demon5 {
public static void main(String[] args) {
//二元运算符
//ctrl+D:复制当前行到下一行
int a=10;
int b=20;
int c=30;
int d=40;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);
System.out.println("===============================");
long a1=1212121212;
int a2=189;
short a3=89;
byte a4=2;
System.out.println(a1+a2+a3+a4);
//不同整数类型相加,有long就为long,没有就为int;浮点型同理
System.out.println(a2+a3+a4);
System.out.println(a3+a4);
System.out.println("===============================");
//++ -- 自增,自减 一元运算符
int b1=3;
int b2=b1++;
int b3=++b1;
System.out.println(b1);
System.out.println(b2);
System.out.println(b3);
//扩充 幂运算 2^3 很多运算,会使用一些工具类进行操作
double pow=Math.pow(2,3);
System.out.println(pow);
}
}
package base;
public class Demon6 {
public static void main(String[] args) {
//逻辑运算符 与-and 或-or 非-取反
boolean a=true;
boolean b=false;
System.out.println("a && b:"+(a&&b));
System.out.println("a || b:"+(a||b));
System.out.println("!(a && b):"+!(a&&b));
/*
* 位运算 二进制
* A=0011 1100
* B=0000 1101
* A&B=0000 1100 均为1即为1
* A|B=0011 1101 有1即为1
* A^B=0011 0001 不同即为1
* ~B=1111 0010 所有数相反
* 面试题:2*8怎么最快? 2*8=2*2*2*2=2<<3 效率极高
* 2 0000 0010
* 16 0001 0000
* << *2
* >> /2
* */
//字符串连接符 +
//面试题:加号运算从左到右,若先是出现string类型,那么直接连接两个数;若是先是加法,那么正常运算;
int c=10;
int d=20;
System.out.println(""+c+d);
System.out.println(c+d+"");
//三元运算符 A?B:C 若A为真,结果为B,否则为C
int score=70;
String type=score<60?"不及格":"及格";
System.out.println(type);
}
}
6、包机制、JAVADoc
一、包机制
1、包就相当于文件夹,方便管理;
2、一般利用公司域名倒置作为包名;com.jiayi.base
3、import com.jiayi.base.* 导入包下所有的类
`package com.jiayi.base;
/*
* @author jiayi
* @version 1.0
* @since 1.8
* */
public class Demon7 {
String name;
/**
*
* @param name
* @return
* @throws Exception
*/
public String text(String name) throws Exception{
return name;
}
//通过命令行 javadoc 参数 Java文件
//作业:学会查找使用IDEA生成JavaDoc文档!
}