Java介绍
詹姆斯高斯林SUN公司
1995.5.23发布
Java版本:J2SE(Java基础) J2EE(企业版)
当前主流的:Java8
Java注释以及eclipse中快捷键
Java中所有的注释均不参与运行,常用的注释:
// 单行注释 ctrl+/
/*
多行注释
*/
/** 段落注释
- shfit+alt+j 生成文档注释
- ctrl+d 删除整行
- ctrl+x 剪切
- ctrl+z 撤销
- ctrl+y 回退
- ctrl+m 区域放大
*/
HelloWorld类解释
/**
- public java关键字,功能:访问修饰符之一
- class java关键字,功能:类 标识符,说明该文件是java类
- HelloWorld 类名,请遵从命名规范
-
1 类名要见名知意,驼峰原则
-
2 首字母大写,其余单词首字母大写
-
3 单词间不要有空格
-
4 数字不能放开头
-
5 #%等不能使用
-
6 _ $可以使用,但是阿里编程规范禁止使用_和$放在开头结尾
-
7 Java代码中区分大小写
-
8 命名不能使用Java关键字
-
----------------
-
以下是国内的规范约束
-
9 建议不要写拼音,更不写中文
- {} 类体,包含属性和方法,一定注意{}是成对出现
-
- |public static void main() {…} | 这个整体叫做方法
-
- static 关键字,功能:静态修饰符
- void 关键字,功能:返回值类型之一
- main 方法名.特殊的名字,我们不能随意使用.是Java程序的主方法,是Java程序的唯一入口
-
名字固定.只有main方法会执行
-
其他方法的方法名,要首字母小写,其他要求与类名一样
- () 参数列表:该方法执行时需要的数据
- String 参数类型之一
- String[] 数组
- args 参数名 : 首字母小写,其他与方法名类似
- =========> 主方法的格式是固定的
*/
public class HelloWorld {
public static void main(String[] args) {
// 这是输出语句
System.out.print("Java");
}
public static void getUserById(int userId) {
}
}
编码规范:
左括号前不换行
右括号前换行
每次{}内部嵌套的语句,要缩进4个空格
运算符两边空格
if/for/while/do/switch等 后要空格
// 后要空格
命名规范
任何名字(项目名,包名,类名等) 见名知意
包名 : 反域名 ;如: www.baidu.com com.baidu.模块名 com.baidu.user
类名
方法名
参数名
以上命名参考上面笔记 另请参考<阿里巴巴java开发手册>
变量
public static void main(String[] args) {
// System.out.print(1);
int i1; // 声明
i1 = 1; // 赋值
int i2 = 2;
//System.out.println(i1);
// print()输出不换行
// println() 输出换行
System.out.println(i1 + 1);
i1 = 2;
System.out.println(i1);
}
/* 程序时从上至下依次逐行执行.(流程控制语句可以改变顺序)
常量:不会改变
* 变量:会随着程序运行而变化
* 使用:
* 1) 声明==> 数据类型 变量名;
* 2) 赋值==> 变量名 = 值;
* 3) 使用==> 输出/计算/判断…
变量名不能重复
* =======================
* 大多数情况,声明赋值一起操作
* 数据类型 变量名 = 值;
*/
数据类型
数据类型:基本数据类型 引用数据类型(数组,类,接口)
基本数据类型:四类8种
**整型**
byte 字节 1byte=8bit
1个字节表示256个数
-128(-2^7) ~ 127
short 短整型 1short=2byte=16bit
-32768 ~ 32767 共表示65536个数
int 整型(integer)
1int = 2short = 4byte = 32bit
-2147483648 ~ 2147483647
程序中任意地方出现的整型数据都是int类型
long 长整型
1long = 2int = 4short = 8byte = 64bit
-9223372036854775808 ~ 9223372036854775807
long型数据需要在后面加l或者L以示区分
**浮点型**
float 单精度 32bit 小数点后7位
一般在数字后加上f/F区分
double 双精度 64bit 小数点后16位
程序中出现的小数,默认都是double类型
也可以在数字后写d/D 区分
**布尔型**
boolean 只有两个值:true和false
**字符型**
char (character) 16bit 代表单个字 符
使用时需要用单引号括起来
如: 'a'
还可以表示0-65535的数字 // 对照输出Unicode编码表的字符
还可以直接与Unicode的形式写 '\u4e00'
public class Demo2 {
public static void main(String[] args) {
byte by1 = -128;
short s1 = -32768;
int i1 = 2147483647;
long lo1 = 9223372036854775807L;
float f1 = 1.12345678F;
double d1 = 1.12345678901234567D;
System.out.println(f1);
System.out.println(d1);
boolean bo1 = false;
System.out.println(bo1);
char ch1 = 'a';
char ch2 = '中';
char ch3 = ' ';
char ch4 = ',';
System.out.println(ch1);
System.out.println(ch2);
System.out.println(ch3);
System.out.println(ch4);
char ch5 = 165;
System.out.println(ch5);
char ch6 = '\u4e00'; // \ u转译 成Unicode编码
System.out.println(ch6);
// String 表示字符串,是属于引用数据类型中的类 类型
// 字符串必须使用双引号括起来
String str = "张三";
System.out.println(str);
}
}
特别注意 : String类型不是基本数据类型. 是属于引用数据类型.
数据类型转换
/* * 数据类型转换:
- 1隐式转换
*按照数据类型可表示的数据范围划分大小
- 小范围–> 大范围 隐式转换/默认进行
大范围 --> 小范围 * 当大范围数据类型的值没有超出小范围数据类型的表示范围- 那么此时是可以隐式转换–>默认转换
- 2显示转换-强制转换
- 大范围 --> 小范围
- 当大范围数据类型的值 超出 小范围数据类型的表示范围 *
此时需要强制类型转换,但是会丢失精度 *
强制转换符 : 格式 (目标数据类型)要转换的数据 *
变量直接转换时,凡是大范围向小范围转换全部使用强制类型换行
小-------------------------->大
- byte,short,char,int,long ->
float->double- 整型转浮点型 , 加.0
- 浮点型转整型 舍弃小数点,不是四舍五入
- boolean 不能进行数据类型转换
public static void main(String[] args) {
byte b1 = 127;
short s1 = 1;
int i1 =10000;
long lo1 = 1000L;
float f1 = 1000.9F;
//
// f1 = lo1;
// 浮点型 --> 整型
lo1 = (long) f1;
System.out.println(lo1);
System.out.println(i1);
b1 =(byte)i1;
System.out.println(b1);
byte b2 = 127;
int a = 1;
b2 = (byte) a;
}