Java基础语法总结
一,大纲:所学内容
(一),注释,标识符,关键字
(二)、数据类型
(三),类型转换
(四),变量,常量
(五),运算符
(六),包机制,JavaDoc
二,逐个回顾
(一),注释,标识符,关键字
1、注释: 项目结构复杂时,需要注释,注释不会被执行,注释是给写代码的人看的。 写注释------好习惯
2、Java中的三种注释: (1)单行注释: //
(2)多行注释: /*
*/
(3)文档注释: /** javaDoc: 文档注释
*
*/
3、关键字:系统、程序所定义过的,都有自己的定位和意思
4、标识符:Java的所有组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
【注意点】:(1)标识符是大小写敏感的
(2)以字母 A-Z或a-z, $, _ 开始
(3)首字符之后可以是 A-Z或a-z, $, _ 或 数字 的任何字符组合
(4)不能使用关键词作为变量名或方法名。
(5)可以使用中文命名,但不建议这样使用
(二),数据类型
1、强类型语言:变量使用严格符合规定,所有变量先定义后使用。
2、弱类型语言:
3、Java数据类型
(1)基本类型:
A、数值型; a、整数型:byte、short、int、long
b、浮点型:float、double
c、字符型: char
B、boolean: true 、false
(2)引用数据类型:类、接口、数组
4、拓展内容:字节
(1)位:
(2)字节:
(3)1字节=8位
(4)字符:
(5)1bit表示1位
(6)1byte表示1个字节1B=8b
(7)1024B=1kB
(8)1024KB=1M
(9)1024M=1G
5、数据类型拓展及面试题:
(1)整数型: 二进制(ob开头)、十进制、 八进制(0开头)、 十六进制(0x开头)
(2)浮点数:银行业务怎么表示? 浮点数是有限的,离散的,会存在舍入误差,大约,接近但不等于
!!!! 最好完全避免使用浮点数进行比较!!!!!
使用BigDecimal(数学工具类)进行比较
(3)字符类拓展:强制转换, 可以将 字符------ 数字
所有的字符本质还是数字
编码:Unicode (可以处理各种语言的文字),它占两个字节, 65536 a=97. A=65
(4)转义字符: \t: 制表符 \n:换行 \v:竖向跳格 \b:退格 \r:回车 \f:走纸换页 \\:反斜杠字符 \':单引号字符 等等。
(5)对象:从内存分析
(6)布尔值拓展: if语句 if(flag){}与if(flag==true){}意思一样 if (flag){}熟练程序猿用这个
Less is More! 代码要精简易读!
(三),类型转换
1、Java----------强类型语言, 运算时,需要类型转换
低------------------------------------------------->高
byte, short,char--->int--->long--->float--->double
2、运算中,不同类型----->同一类型----->运算。
3、强制类型(高--->低)
4、自动类型(低--->高)
(Byte), 类型转换的过程中尽量避免内存溢出的情况,否则会报错
【注意点】:
(1)、不能对布尔值进行转换 boolean d = i; (布尔值是按位的,不能进行运算,完全不相干的)
(2)、不能把对象类型转换为不相干的类型,(通俗易懂举例: 人---猪(错误,不能转换))
(3)、在把高容量转换为低容量的时候,强制转换,反之,完全不用动
(4)、转换的时候可能存在内存溢出、或者精度问题!
【类型转换常见问题】:
(1)、 操作比较大的数的时候,注意溢出问题
(2)、JDK7的新特性,数字之间可以用下划线(_)分割
(四)、变量,常量
1、变量: 就是可以变化的量!
2、Java是强类型语言,每个变量-------(必须)声明变量类型。
3、Java变量是程序中最基本的存储单元,
4、【注意事项】:
(1) 每个变量都有类型 ,类型可以是基本类型,也可以是引用类型。
(2) 变量名必须是合法的标识符。
(3) 变量声明是一条完整语句,因此每一个声明都必须以分号结束。
5、变量作用域:
(1)、类变量
(2)、实例变量
(3)、局部变量
public class variable{
static int allClicks=0; 类变量
String str="hello world"; 实例变量
public void method(){
int i =0; 局部变量
}
//类变量 static
static double salary = 2500;
//方法块(代码块) static{}
//实例变量(作用域更大,不在方法里面,在类(demo08)里面,方法的外面): 从属与对象(demo08,也就是类),通过这个类才可以使用它,它很高级 , 如果不自行初始化,这个类型的默认值0 0.0(小数)
// 字符串变量 初始化它是十六位的0000 u0000(还是会输出0) 布尔值默认初始化是: false 除了基本类型其他的默认初始化默认值都是null
String name;
int age;
//main方法(在类里面)
public static void main(String[] args) {
//局部变量(两个花括弧之间可以运行,有效区间): 使用之前必须声明初始化值
int i =10;
System.out.println(i);
//变量类型(demo08, 类型也可以是自己,自定义类型,也是引用类型) 变量名字 = new demo08(); 变量就是它自己
Demo08 demo08 = new Demo08();
System.out.println(demo08.age);
System.out.println(demo08.name);
//类变量 static(只要加了static的关键词,获得他们的属性,就可以直接用了, 它是纯属于类的)
System.out.println(salary);
//其他方法
public void add(){
// System.out.println(i); i是在上面区域定义的,所以只在上面区域起作用,在本区域不可运行
6、【变量的命名规范】
(1)、所有变量,类名,方法名:见名知意(能看得懂其意思就好)
(2)、所有成员变量: 首字母小写和驼峰原则: monthSalary 除了第一个单词以外,后面的单词首字母大写 lastName
(3)、局部变量: 首字母小写和驼峰原则
(4)、常量; 大写字母和下划线MAX_VALUE;
(5)、类名:首字母大写和驼峰原则:Man, GoodMan
(6)、方法名:首字母小写和驼峰原则:run(),runRun()
7、常量:
(1)、常量(Constant):初始化(initialize)后不能在改变的值! 不会变动的值。
(2)、所谓常量可以理解成一种特殊的变量,它被值设定后,在程序运行过程中不允许被改变。
final 常量名 = 值;
final double PI= 3.14;
(3)、 常量名一般使用大写字符
(五)、运算符
1、Java语言支持如下运算符:
(1)算数运算符:+ 、- 、 *、 / 、 %(取余数,取余数运算叫做 :模运算)、 ++ 、 --(平时用的最多)
(2)赋值运算符: =
(3)关系运算符: > ,<, >=, <=, ==(等于, Java里面的等于是用两个等号判断 【重点】), !=instanceof(不等于符号: != )
(4)逻辑运算符: &&(与,举例:and)、 II(或 举例: or) 、 !(非 举例: 非黑即白的意思)
(5)位运算符: &、 I、^ 、~ 、>> 、 <<、 >>> (了解!!!)
(6)条件运算符: ? :
(7)拓展赋值运算符:+=、 -=、 *=、 /=
【前四个为重点,后面的了解就可以】
运算符详细内容 略,详情见小猪学Java篇幅详解
(六),包机制,JavaDoc
1、包机制:
(1)、为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。
(2)、包语句的语法格式为:
package pkg1[. pkg2[. pkg3...]];
(3)、一般利用公司域名倒置作为包名; www.baidu.com com.baidu.www
(4)、为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用"import"语句可完成此功能 【导包】
import package1[. package2...].(classname|*);
2、【Java DOC】
(1)、Javadoc命令是用来生成自己的API文档的
(2)、参数信息
a、@author 作者名
b、@version 版本号
c、@since 指明需要最早使用的jdk版本
d、@param 参数值
e、@return 返回值情况
f、@throws 异常抛出情况