HelloWorld
1、随便建一个文件夹,存放代码
2、新建一个Java文件
- 文件后缀名为.java
- Hello.java
- 【注意点】系统可能没有显示文件后缀名,我们需要手动打开
3、编写代码
public class Hello{
public static void main(String[] args){
System.out.print("Hello,World!")
}
}
4、编译javac java文件,会生成一个class文件
5、运行class文件,java class 文件
可能会遇到的情况
1、每个单词大小写不能出现问题,Java是大小写敏感的
2、尽量使用英文;
3、文件名和类名必须保证一致,并且首字母大写
4、符号使用了中文
注释
//单行注释
//输出一个HelloWorld!
System.out.println("Hello,World");
//多行注释:可以注释一段文字
/*
我是多行注释
我是多行注释
~~~~~~~~~~
*/
//文档注释 /**
/**
* @Description HelloWorld
* @Author 陈爽
*/
标识符和关键字
Java所有的组成部分都需要名字,类名变量名以及方法名都成为关键字。
abstract | assert | boolean | break | byte |
---|---|---|---|---|
case | catch | char | class | const |
continue | default | do | double | else |
enum | extends | final | finally | float |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | public |
return | strictfp | short | static | super |
switch | synchronized | this | throw | throws |
transient | try | void | volatile | while |
- 【数字不能开头】所有的标识符都应该以字母,美元符号($),或者下划线(_)开始
- 首字母之后可以是字母、下划线、美元符、或者数字的任何组合
- 不能使用关键字命名
- 标识符大小写敏感
- 不建议使用中文或者拼音命名
数据类型
- 强类型语言:要求变量使用严格符合规定,所有的变量必须先定义在使用。
- 分为基本类型【数值类型、boolean类型】和引用类型【类、接口、数组】
八大数据类型
int short long byte float double char boolean
//整数
int num1 = 10 ;
byte num2 = 20 ;
short num3 = 30;
long num4 = 30L;//Long数据类型要在数字后面加L
//小数:浮点数
float num5 = 50.1F;//float数据类型要在数字后面加F
double num6 = 3.141592653589793228;
//字符
char name = '国';
//布尔值:是非
boolean flag = true;
boolean flag1 = 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;
double f1 = 1.0/10;
System.out.println(f==f1);
System.out.println(f);
System.out.println(f1);
//==========================================
//字符拓展?
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);//强制转换
System.out.println("===================================");
//所有的字符本质都是数字
//==========================================
//转义字符
// \t 制表符
// \n 换行
char c3 = '\u0061';
System.out.println(c3);
System.out.println("hello\tworld");
System.out.println("hello\nworld");
类型转换
运算中,不同类型的数据要先转换成同一类型的数据再进行运算。
低 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>高
byte—short—char —int—long—float—double
//强制转换 (类型)变量名 高---低
int a = 129;
byte b = (byte) a ;
System.out.println(a);
System.out.println(b);
//自动转换 低-----高
int c = 129;
double d = c ;
System.out.println(c);
System.out.println(d);
/*
注意点:
1、布尔值不可以转换
2、不能把对象类型转换为不相干的类型
3、高容量转换成低容量的时候,强制转换
4、转换的时候可能存在精度问题或者溢出问题
*/
//===========================================================================
//操作比较大的数的时候,注意溢出问题
//JDK新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int year = 20;
int tatal = money*year; //-1474836480,计算的时候溢出
long total2 = money*year;//默认是int,转换之前已经存在问题了?
long total3 = money*((long)year);//先把一个属转换成long类型
System.out.println(total3);
变量
type varName [=value] [{,varName[=value]}];
//数据类型 变量名=值; 可以使用逗号隔开来声明多个同类型变量
- 每个变量都有类型,类型可以是基本类型或者引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,一次每一个声明都必须以分号结束。
public class Demo4 {
//实例变量:从属于对象;不初始化,自动设置默认值;
String name;
int age;
//类变量 static
static double salary = 2500;
//main方法
public static void main(String[] args) {
//局部变量:必须声明和初始化
int i = 10;
System.out.println(i);
//变量类型 变量名字 = new Demo4;
// 实例变量
Demo4 demo4 = new Demo4();
System.out.println(demo4.age);
//类变量 static
System.out.println(salary)
}
//其他方法
public void add(){
}
}
变量的命名规范:
- 做到见名知意
- 类成员变量:首字母小写和驼峰原则 :lastName
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,Goodman
- 方法名:首字母小写和驼峰原则:run( ),runRun( )
变量作用域
类变量、实例变量、局部变量
- 局部变量:必须声明和初始化值
- 实例变量:从属于对象。如果不初始化u,会自动设置默认值。【布尔值:默认是false】【除了基本类型其余都是null】
常量
初始化不改变的值
public class Demo5 {
//final为修饰符,不存在先后顺序;
final static double PI = 3.14;
static final double AI = 888;
public static void main(String[] args) {
}
}
运算符
优先级 ( )
- 算术运算符:+ 、-、*、/、%、++、–
- 赋值运算符:=
- 关系运算符:>,<,>=,<=,==,!= instanceof
- 逻辑运算符:&&,||,!
- 位运算符:&,|,^,~,>>,<<,>>>(了解)
- 条件运算符: ?,:
- 扩展赋值运算符:+=,-=,*=,/=
很多的运算会用工具类来做。【Math】
包机制
为了区别类名的命名空间
一般利用公司域名倒置作为包名
导包:
为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句可以完成此功能。
package com.base;
//导入改包下所有的类;
import com.chen.*;
import java.util.Date;
public class HelloWorld {
public static void main(String[] args) {
Date;
}
}
JavaDoc
- javadoc命令是用来生成自己API文档的
在doc窗口中通过命令行: javadoc 参数 java文件
- 参数信息:
- @author 作者名
- @version 版本号
- @since 指明需要的最早的jdk版本
- @return参数名
- @throws 异常抛出情况
package com.chen;
/**
* @author chenshuang
* @version 1.0
* @since 1.8
*/
public class Doc {
String name;
/**
*
* @param name
* @return
* @throws Exception
*/
public String test(String name) throws Exception {
return name;
}
}