JavaSE_基本语法学习

JavaSE_基本语法学习

1.注释

注释有三种:

1. 单行注释	//	
2. 多行注释	/**/
3. 文档注释 /** */

2.标识符与关键字

java所有的组成部分都需要名字.

标识符:类名,变量名以及方法名都被称为标识符

关键字:除类名,变量名以及方法名外,其他基本为关键字

//abstract	定义抽象方法的修饰符
//boolean	布尔类型
//break		结束循环
//byte 		单字节整数型
//case 		选择
//catch		
//char 		字符型
//class 	类定义修饰符
//const 
//continue	暂停
//default	默认
//do 		先循环再判断 循环判断首
//double 	双精度浮点数
//else 		否则
//else if	否则如果
//enum
//extends	继承父类修饰符
//final		不可修改修饰符
//finally	
//float		单精度浮点数
//for		给出次数,按次数循环计次循环首
//goto		运行跳转
//if		如果
//implements 实现抽象类方法修饰符
//import	
//instanceof 用来判断其向上转型引用的子类的对象,原来是什么,返回boolean值
//int 		4字节整数型
//interface	定义接口修饰符
//long		8字节整数型
//native	
//new 		创建对象修饰符
//package	包.说明
//private	私有化修饰符	权限修饰符
//protected	权限修饰符
//public 	权限修饰符
//return 	返回语句定义
//strictfp	
//short		2字节短整数型
//static	公开共享修饰符
//super		引用其父类变量的修饰符定义符,(好像是)
//switch	多项选择判断
//synchronized	
//this		辅助区分引用变量修饰符 用来区分重名成员变量与局部变量 使用则定义为成员变量
//throw		
//throws	
//transient	
//try
//void		通常为定义返回值类型修饰符,无需返回值;也可以说空数据?
//volatile 	
//while		先判断,再循环	判断循环首
注意点:
1.不能使用/*关键字*/作为变量名或方法名;
2.标识符是/*大小写敏感*/的
3.可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low;    

3.数据类型讲解

java是一种强类型语言(强类型定义语言)

  1. 强类型定义语言:java c++

优点:安全性高

缺点:速度慢(比较其他语言)

  • 要求变量的使用要严格规定,所有变量都必须先定义后才能使用
  1. 弱类型语言:VB JS

数据类型:

//基本类型(四类八种)
//整数型
	//byte	1字节	正负128
	//short	2字节	近4万
	//int	4字节	正负21亿
	//long	8字节	范围超21亿
//浮点数型
	//float	4字节
	//double 8字节	常用
//字符型
	//char	2字节(byte)
//逻辑型
	//boolean 1位(bit二进制)
//不在这四类八种里面的都是引用类型;
//1byte=8bit
//引用类型
//类
//接口
//数组

数据类型及拓展面试题

面试常见类型:各种进制在java中,是如何进行表示的;
整数拓展:	 
十六进制	十进制		八进制		二进制
以0x开头	 直接写	 以0开头	 以0b开头
--
浮点数拓展:
由于浮点数类型能表现的范围是有限的,对于某些数据过大时,会产生舍入误差;
离散性,结果只能是大约数;无限接近于结果;
最好完全避免使用浮点数进行比较;
//float
//double
面试真题:对于银行业务,应该使用什么类型;
类:BigDecimal	数学工具类;
--
字符拓展:
//所有的字符本质还是数字;
编码: Unicode	2字节(0-65536=/U0000-/UFFFF);
//小写字母比大写字母多32;		97:a	65:A
//转义字符
\t	制表符	\n	换行符
--
引用类型相比较,用来比较的是地址
数据类型相比较,用来比较的是数据;
--
布尔值拓展:
less is more //代码要精简易读;
//true==ture 新手
//ture 老手

类型转换

低<--------------------------->高;
byte<short<int<long<float<double
    //小数的优先级一定大于整数;
//运算中,不同类型的数据先转化为同一类型,然后进行计算;
//在java语言中,类型由小到大,存在自动类型转换
//但由大到小,需要程序员自己进行强制类型转换;
//强制类型转换格式: byte num =(byte) 10;
//数据类型默认为int型,所以需要使用强制类型转换进行由高到低的类型转换;
//数据默认类型:书写整数时,默认类型为int;
    		//书写浮点数时,默认类型为double;
//在转换类型时,需注意范围大小,否则会造成数据溢出问题,从而出现Bug;
注意点:
1.不能对boolean值进行转换;
2.不能把对象类型转换成不相干的类型;如字符串转换成数字;
3.将高容量的数据转换到低容量的类型时,需要进行强制转换;反之不用;
4.转换的时候可能存在内存溢出,或者精度问题;
5.操作比较大的数时,注意溢出问题;
//Jdk7新特性:数字之间可以使用下划线进行分割;1_0000_0000;
//使用数据类型计算时,创建的是什么类型,默认就将其使用相应类型计算;
//在对大型数据进行计算时,需要注意其创建类型,与其计算时所使用的变量类型;
//先把计算数据中一个数据提升,那么另一个数据也会被自动提升,再进行计算; 
//在对类型定义时,对于需要在数值后面加字母标记的,一律使用大写字母,便于区分; 

变量

java变量是程序中最基本的存储单元.其要素包括变量名,变量类型和作用域.
变量:在程序运行过程中,可以进行改变的数据;
//数据类型	变量名 = 值;	可以使用逗号进行分隔来声明多个同类型变量;
注意事项:
1.每个变量都有类型,类型可以是基本类型,也可以是引用类型;
2.变量名必须是合法的标识符;
3.变量声明是一条完整的语句,因此每一个声明都必须以分号进行结束;
4.不建议一行定义多个变量,不方便查看;影响程序可读性
常量:在程序运行过程中,不可被改变的数据;
1.初始化之后不能再被改变的数据;,不会变动的值;
2.所谓常量可以理解为一种特殊的变量,它的值被设定后,在程序运行期间不可改变;
//常量定义方法:
final 数据类型 常量名=值
final double 	PI=3.14159;
3.常量的标识符一般使用大写字母;

变量作用域

public class Variable{
    static int allClicks=0;	//类变量
    String str = "hello,world";	//实例变量/成员变量
    
    public void method(){
        int i = 0;	//局部变量
    }
}
局部变量	方法里面
(存在于方法当中)
1.局部变量存在于方法块当中,由方法第一个大括号开始,至结束大括号,结束;
2.局部变量必须声明与初始化值;
//----------------------------------
实例变量	类中间,没有static修饰符
1.实例变量:从属于对象;
2.不需要进行初始化,也可以使用;
3.对于实例变量来说,如果没有初始化,那么将会得到一个默认值;
int型默认值:0;
boolean型默认值:false;
double型默认值:0.0;
4.除了基本类型,其余引用类型,默认初始值皆为nall;
5.如何使用实例变量:
类名称(变量类型-类) 对象名(自己命名)=new 类名称();
对象名.实例变量名=赋值;
//----------------------------------
1.类变量	 类里面,使用static修饰符
1.如何使用类变量:
public class Demo01{
    //类变量定义:
    //static 数据类型 类名称;
    static double salary=2500.0;
}
2.类变量:从属于类;随类创建,随类消失;

变量的命名规范

1.所有变量,方法,类名:/*见名知意*/;
2.类成员变量:首字母小写和驼峰原则(/*小驼峰模式*/):monthSalary
3.局部变量:首字母小写和驼峰原则(/*小驼峰模式*/);
4.常量:/*大写字母与下划线*/ :MAX_VALUE
5.类名:首字母大写和驼峰原则(/*大驼峰模式*/):Man,GoodMan
6.方法名:首字母小写和驼峰原则(/*小驼峰模式*/):run(),runRun();

运算符(operator)

算术运算符:+,-,*,/,%,++,--
赋值运算符:=
关系运算符:>,<,>=,<=,==,!=instanceof
逻辑运算符:&&,||,!
位运算符:&,|,^,~,>>,<<,>>>(了解!!!)
条件运算符: ?:
扩展赋值运算符: +=,-=,*=,/=;
1.多个数值类型操作,有一个为long类型,那么运算结果也为long;
2.没有long类型的情况,做数值运算,结果类型默认为int;
3.若有double类型,那么运算结果为double,(默认为高容量的类型存放)
/*--------------------------------------------*/
自增自减运算符
//++ -- 一元运算符
//a++ , a--	//在赋值后,先进行赋值操作,过后再进行自增自减操作;
//++a , --a	//在赋值前,先进行自增自减操作,之后才进行赋值;
//幂运算: 2^3=2*2*2=Math.pow(2,3);
/*--------------------------------------------*/
逻辑运算符
//&& and	并且
//|| or 或者
//! 	非(取反)
/*--------------------------------------------*/
位运算符
A = 0011 1100
B = 0000 1101
-------------
A&B 0000 1100
A|B 0011 1101
A^B 0011 0001		(两数相同则为0,不相同则为1);
~B	1111 0010		(将原数取反)
//& and	并且
//| or 	或者
//^ 	异或运算
//~		非(取反)
面试题:2*8如果计算得快;
将其拆分称为2*2*2*2
//<< 	左移(相当于将数值*2)
//>>	右移(相当于将数值/2)
2<<3=2*8;
1.位运算效率极高,因其直接在系统底层操作;
/*--------------------------------------------*/
条件运算符 -三元运算符//必须掌握,提高可读性;
// ?:
//条件表达式 ? true:false;
1.x ? z:y;
2.x>z ? z:y;
/*--------------------------------------------*/
扩展运算符
//+=
//-=
//*=
///=
int a = 10;
int b = 20:
    
a += b; = a= a+b;
a -= b; = a= a-b; 
a *= b; = a= a*b;
a /= b; = a= a/b;
面试题:
""+a+b;
a+b+"";	两者输出结果有什么不同;
//1.字符串在运算数值前面的,会默认进行字符串拼接操作运算;
//2.字符串在运算数值后面的,前面的运算数值会先运算,之后在拼接;
//3.运算符默认由左到右运算,前方类型为何种,默认进行何种操作?

//面向百度编程1.

运算符的优先级

包机制

1.为了更好的组织类,java提供了包机制,用于区别类名的命名空间
2.包语句的语法格式为:
package cn.itcast.day01.Demo01;
package com.baidu.www;
3.一般利用公司域名倒置作为包名;
www.itcast.cn=cn.itcast.www
wwww.baidu.com=com.baidu.www
weiku.baidu.com=com.baidu.wenku
4.为了能够使用某一个包的成员,我们需要再java程序中明确导入该包.
4.1.使用"import"语句可以完成此功能;
import java.util.Date;
import java.util.lang;
import com.baidu.www;
//*星号通配符;将其包下所有类皆导入此类进行使用;
import com.baidu.www.*;
//尽量不能让包名称重复;

//面向百度编程2

基础类知识拓展-阿里巴巴开发手册

javaDoc生成文档

1.javaDoc命令是用来生成自己API文档的;
2.参数信息:
@author	 作者名
@version 版本号
@since	 指明需要最早使用的jdk版本
@param	 参数名
@return	 返回值情况
@throws	 异常抛出情况
代码示例:
/**
@author 	kuangshen//作者名称;
@version 	1.0//自我开发程序1.0
@since		1.8//jdk使用版本1.8
*/
public class Doc{
	String name;//类变量
      /**
        @param name //参数
        @return	//返回值情况
        @throws Exception //异常抛出情况
        */
    public String returnName(String name) throws Exception{
      return name;
    }
}
3.加在类上面,为类注释;
4.加在方法上面,为方法注释;
//javaDoc-cmd命令
//若遇到乱码问题,可以使用以下方法:
1.javadoc -encoding UTF-8	将其中文编码转换为UFT-8
2.-charset UTF-8 			将字符也设置为UTF-8格式
代码示例: javadoc -encoding UTF-8 -charset UTF-8 XXX.java

//面向百度编程3

作业:学会查找使用IDEA生成javaDoc文档

修饰符

1.修饰符,不存在先后顺序问题;
2.处于变量类型前面的都是修饰符;

main()方法

public static void main(String[] args){
    //标准定义格式;
}
在其下方,可以添加其他方法;
在main()方法当中,还可以定义属性;
属性:

方法块

static {
    //方法块
}
posted @ 2021-02-04 17:41  简约而不简单  阅读(53)  评论(0)    收藏  举报