【KuangStudy】Java基础语法

Java基础语法

注释

  • 单行注释//

  • 多行注释/**/

  • 文档注释/** * */

标识符

关键字

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xU3IZ4Xo-1612537507911)(C:\Users\fy\AppData\Roaming\Typora\typora-user-images\image-20210205161917001.png)]

关键字含义
public
class
static
void

标识符注意点

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($),或者下划线(_)开始
  • 首字母之后可以是字母(A-Z或者a-z),美元符($),下划线(_)或数字的任何字符组合
  • 不能用关键字作为变量名或方法名
  • 标识符是大小写敏感的
  • 不建议使用中文或拼音

数据类型

  • 强类型定义语言(安全性高、速度慢)

    变量的使用严格符合规定,所有变量都必须先定义后使用

  • 八个基本数据类型

    • byte占1个字节范围:-128~127
    • short占2个字节范围:-32768~32767
    • int占4个字节范围:-2147483648~2147483647
    • long占8个字节范围:-9223372036854775808~9223372036854775807(要在数字后面加个L)
    • float占4个字节(要在数字后面加个F)
    • double占8个字节
    • char占2个字节
    • boolean占1位其值只有true和false两个
  • 引用数据类型

    • 接口

    • 数组

  • 什么是字节

    • 位(bit):是计算机内部数据存储的最小单位,11001100是一个八位二进制数

    • 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示

    • 1B(byte,字节) = 8bit(位)

    • 字符:是指计算机中使用的字母、数字、字和符号

    • 1bit表示1位

    • 1Byte表示一个字节 1B=8b

    • 1024B=1KB

    • 1024KB=1MB

    • 1024MB=1GB

    • 1024GB=1TB

数据类型扩展及面试讲解

整数进制问题

int i=10;
int i2=010;//八进制0
int i3=0x10;//十六进制0x

浮点数拓展(BigDecimal数学工具类)

//float  有限  离散  舍入误差  大约  接近但不等于
float f=0.1f;            //0.1
double d=1.0/10;         //0.1
System.out.println(f==d);//false

字符拓展

//编码  Unicode编码U0000~UFFFF  占2字节  例:97='a'
		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('\u0061');//Unicode编码a
/*转义字符
\t
\n
……
*/

布尔值拓展

boolean flag=true;
if(flag==true){}//新手
if(flag){}      //老手
//Less is More!  代码要精简易懂

类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换

    低--------------------------------------------------------->高

    byte,short,char,int,long,float,double

  • 运算中,不同类型的数据先转换为同一类型,然后进行运算

  • 强制类型转换 (类型)变量名

    	int i=128;
        byte b=(byte)i;//强制类型转换
    
        System.out.println(i);//128
        System.out.println(b);//-128,内存溢出!
    	System.out.println((int)23.7);//23,精度问题!
        System.out.println((int)-45.89f);//-45,精度问题!
    
    
    
  • 自动类型转换 低–>高

    	int i=128;
        double d=i;//自动类型转换(赋值时)
    	char c='a';
        int t=c+1;//自动类型转换(运算时)
    
        System.out.println(i);//128
        System.out.println(d);//128.0
    	System.out.println(t);//98
    
    
  • 注意点

    1. 不能对布尔值进行转换
    2. 不能把对象类型转换为不相干的类型
    3. 在把高容量转换到低容量的时候,强制转换
    4. 转换的时候可能存在内存溢出,或者精读问题
  • 类型转换案例

    		int money=10_0000_0000;//JDK7新特性,数字之间可以用下划线进行分割
            System.out.println(money);//输出1000000000
    
            int years=20;
    
            int total=years*money;
            System.out.println(total);//输出-1474836480,int类型溢出了
    
            long total2=years*money;//int计算结果仍是int类型,转换成long类型之前已经出问题了!
            System.out.println(total2);//输出-1474836480
    
            long total3=years*(long)money;//解决方法:先把一个数转换成long,计算时结果自动转换成long
            System.out.println(total3);//输出20000000000
    

变量、常量、作用域

变量

  • Java是一种强类型语言,每个变量都必须声明其类型

  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

    		//数据类型 变量名 = 值;
    		int a=1,b=2,c=3;//可读性不佳
            String name="abc";
            char x='X';
            double pi=3.1415;
    
  • 注意事项

    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
    • 变量名必须是合法的标识符
    • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
  • 变量的命名规范

    • 所有变量、方法、类名:见名知意
    • 类成员变量:首字母小写和驼峰原则:除了第一个单词以外后面的单词首字母都要大写
    • 局部变量:驼峰原则:除了第一个单词以外后面的单词首字母都要大写
    • 常量:大写字母和下划线
    • 类名:单词首字母全部大写
    • 方法名:驼峰原则:除了第一个单词以外后面的单词首字母都要大写

常量

  • 初始化后不能再改变值,前面加修饰符final

  • 常量名一般使用大写字符

    static final double PI=3.1415;//修饰符static、final不分先后
    

作用域(详见面向对象)

  • 类变量,前面加修饰符static
  • 实例变量
  • 局部变量

基本运算符

  • 算术运算符:+,-,*,/,++,–
  • 赋值运算符:=,+=,-=,*=,/=
  • 关系运算符:>,<,>=,<=,==,!=,instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<,>>>(了解)
  • 条件运算符:?,:

自增、自减和Math类

double pow=Math.pow(2,3);//2*2*2

逻辑运算符、位运算符

boolean a=true;
boolean b=false;
System.out.println(a&&b);//与,同真才真,前假后略(短路特性)
System.out.println(a||b);//或,同假才假,前真后略(短路特性)
System.out.println(!a);//非
/*
A=0011 1100
B=0000 1101
-----------------
与A&B = 0000 1100
或A|B = 0011 1101
异或A^B = 0011 0001
非~A  = 1100 0011

2*8 = 16 ----> 2*2*2*2
效率极高!!!
左移<<  *2
右移>>  /2

0000 0000     0
0000 0001     1
0000 0010     2
0000 0011     3
0000 0100     4
0000 1000     8
0001 0000     16

System.out.println(2<<3);//16
*/

三元运算符

字符串连接

int a=20;
int b=21;
System.out.println(""+a+b);//2021
System.out.println(a+b+"");//41,先加后转换

包机制

  • 一般利用公司域名倒置作为包名:com.baidu.www

    package com.baidu.www
    
  • 导入包 import 包名

    (导入包下所有文件 .*)

JavaDoc

  • javadoc是用来生成自己的API文档的

  • 参数信息

    @author 作者名

    @version 版本号

    @since 指明需要最早使用的jdk版本

    @param 参数名

    @return 返回值情况

    @throws 异常抛出情况

  • cmd生成JavaDoc文档 javadoc 参数 Java文件

  • IDEA生成JavaDoc文档,点击Tools->Generate JavaDoc->设置生成路径、配置参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值