Java基础语法
需要源码或解答疑问请联系QQ:1876504704
一、注释、标识符、关键字
注释
书写注释是一个非常好的习惯
注释并不会执行,是给写代码的人看的
注释有三种:
单行注释:“//”
多行注释:”/* */“
文档注释:“/** */”
平时写代码一定要注意规范
标识符
关键字
java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符
注意
1.所有的标识符都应该以字母,美元符(
)
下
划
线
(
)
,
开
始
2.
首
字
符
之
后
可
以
是
字
母
、
美
元
符
(
)下划线( _ ),开始 2.首字符之后可以是字母、美元符(
)下划线(),开始2.首字符之后可以是字母、美元符()下划线( _ )或数字的任何字符组合
3.不能使用关键字作为变量名或方法名 **
4.标识符是大小写敏感**的
5.可以使用中文命名,但是一般不建议使用,也不建议用拼音,很LOW
package BasicGrammar;
/**
* // _ooOoo_
* // o8888888o
* // 88" . "88
* // (| -_- |)
* // O\ = /O
* // ____/`---'\____
* // .' \\| |// `.
* // / \\||| : |||// \
* // / _||||| -:- |||||- \
* // | | \\\ - /// | |
* // | \_| ''\---/'' | |
* // \ .-\__ `-` ___/-. /
* // ___`. .' /--.--\ `. . __
* // ."" '< `.___\_<|>_/___.' >'"".
* // | | : `- \`.;`\ _ /`;.`/ - ` : | |
* // \ \ `-. \_ __\ /__ _/ .-` / /
* // ======`-.____`-.___\_____/___.-`____.-'======
* // `=---='
* // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* // 佛主保佑 永无BUG !
*/
public class Demo1 {
public static void main(String[] args) { }
//输出一个Hello,World
//单行注释:只能注释一行文字
//System.out.println("Hello,World");
//多行注释 可以注释一段文字
/* 注释 */
/*
我是多行注释
我是多行注释
我是多行注释
我是多行注释
*/
//JavaDoc:文档注释 “/** */”
/**
* @deprecated HelloWorld
* @Author 狂神说Java
*/
}
二、数据类型
强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
弱类型语言
要求变量的使用要符合规定,所有变量都必须先定义后才能使用
Java的数据类型分为两大类
基本类型
数值类型
整数类型
byte -128-127(1字节)
short -32768-32767(2字节)
int -21474368-214783647(4字节)
long (8字节)
浮点类型
float (4字节)
double (8字节)
字符类型
char (2字节)
boolean 类型
占1位其值只有true false两个
引用类型
类
接口
数组
字节
位(bit)最小的存储单位
字节(byte)数据处理的基本单位
1 B(字节)=8 bit(位)
字符:是指计算机中使用的字母、数字、字和符号
1 G = 1024 M
1 M = 1024 KB
1 KB = 1024 B
package BasicGrammar;
public class Demo3 {
public static void main(String[] args) {
//整数拓展 进制 二进制 十进制 八进制 十六进制
int i=10;
int i2=010;//八进制
int i3=0x10;//十六进制 0-9 A-F 16
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
//==============================================================
//浮点数拓展? 银行业务什么表示?钱
//BigDecimal 数字工具栏
//==============================================================
//float 有限的 离散的 舍入误差 大约 接近 但不等于
//double
//最好完全使用浮点数进行比较
//最好完全使用浮点数进行比较
//最好完全使用浮点数进行比较
float f = 0.1f ;
double d =1.0/10;
System.out.println(f==d);
System.out.println(f);
System.out.println(d);
float d1 =215316541651564156f;
float 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);
System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
//所有的字符本质环视数字
//编码 Unicode 2字节 0 - 65536
//U0000-UFFFF
char c3 ='\u0061';
System.out.println(c3);
System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
//转义字符
// \t 制表符
// \n 换行
// ......
String sa =new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb);
System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
//对象 从内存分析
String sc ="hello world";
String sd = "hello world";
System.out.println(sc==sd);
System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
//布尔值扩展
boolean flag =true;
if (flag == true){ }//新手
if (flag){ }//老手
//Less is More! 代码要精简易读
}
}
三、类型转换
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换
运算中,不同类型的数据先转化为同一类型,然后进行运算
低----->高
byte,short,char ----->int------>long----->float------>double
强制类型转换
自动类型转换
public class Demo4 {
public static void main(String[] args) {
int i= 128;
byte b = (byte)i ;//内存溢出
//强制转换 (类型)变量名 高--->低
//自动转换 (类型)变量名 低--->高
System.out.println(i);
System.out.println(b);
/**
* 注意点:
* 1.不能对布尔值进行转换
* 2.不能把对象类型转换为不相干的类型;
* 3.把高容量转换到低容量的时候,强制转换
* 4.转换的时候可能存在内存溢出,或者精度问题
*
*
*/
System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
System.out.println((int)23.7);
System.out.println((int)-45.89f);
System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
char c='a';
int d =c+1;
System.out.println(d);
System.out.println((char)d);
}
public class Demo5 {
public static void main(String[] args) {
//操作比较大的数的时候,注意溢出问题
//jdk7新特性。数字之间可以用下划线分割
int money =10_0000_0000;
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,转换之前已经存在问题
System.out.println(total3);//先把一个数转换为Long
//l L
}
四、变量、常量
变量
java是一种强类型语言,每个变量都必须声明其类型
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型,**作用域 **
type varName [=value][{,varName[=value]}];
//数据类型 变量名 =值: 可以使用逗号隔开来声明多个同类型变量
注意:
1.每个变量都有类型,类型可以是基本类型,也可以是引用类型
2.变量名必须是合法的标识符
3.变量声明是一条完整的语句,因此每一个声明都必须一分号结束
常量
初始化后不能在改变值!不会变动的值。
常量可以理解成一种特殊的变量,他的值被设定后,在程序运行过程中不允许被改变
常量名一般使用大写字符。
变量命名规则
所有变量,方法,类名:见名知意
类成员变量:首字母小写和驼峰原则
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线
类名:首字母大写和驼峰原则
方法名:首字母小写和驼峰原则
五、运算符
算术运算符:+ - * / % ++ –
赋值运算符=
关系运算符> < <= ?= != instanceof
逻辑运算符&& || !
位运算符& | ^ ~>> << >>>
条件运算符? :
扩展赋值运算符+= -= *= /=
六、包机制、JavaDoc
为了更好的组织类,Java提供了包机制,用于区别类名的命名空间
格式:
package pkg1[.pkg2[.pkg3...] ]
一般利用公司域名倒置作为包名
为了能够使用某一个包的成员,需要在Java程序中明确导入该包。使用“import”语句完成该功能
格式:
import package1[.package2...].(classname |*);
javaDoc
/**
* @author kuangshen 作者名
* @version 1.0 版本
* @since 1.8 最早使用的jdk版本
* @param 参数
* @return 返回值
* @throws 异常抛出情况
*/
//我是通过命令行 javadoc 参数 java 文件
//作业 学会查找使用IDEA生产javaDoc文档! 面向百度编程!
//基础部分的一切只是,后面几乎每一天都会用