注释

注释不会被执行,是给写代码的人看的

书写注释是一个非常好的习惯

注释分为三种:

  1. 单行注释://后加文字

  2. 多行注释:/*中间加文字 */

  3. 文档注释:/** 中间 */

更改注释颜色

file-->settings-->java-->comments

//                            _ooOoo_    
//                           o8888888o    
//                           88" . "88    
//                           (| -_- |)    
//                           O\ = /O    
//                       ____/`---'\____    
//                     .   ' \\| |// `.    
//                       / \\||| : |||// \    
//                     / _||||| -:- |||||- \    
//                       | | \\\ - /// | |    
//                     | \_| ''\---/'' | |    
//                     \ .-\__ `-` ___/-. /    
//                   ___`. .' /--.--\ `. . __    
//               ."" '< `.___\_<|>_/___.' >'"".    
//               | | : `- \`.;`\ _ /`;.`/ - ` : | |    
//                 \ \ `-. \_ __\ /__ _/ .-` / /    
//         ======`-.____`-.___\_____/___.-`____.-'======    
//                           `=---='    
//    
//         .............................................    
//                 佛祖保佑             永无BUG

标识符和关键字

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

类名,变量名,方法名都成为标识符。

标识符注意点

  • 所有标识符都应该以字母,美元符($)或者下划线开头

  • 首字母之后可以是字母,美元符($),下划线或者数字

  • 不能使用关键字作为变量名或者方法名

  • 标识符是大小写敏感的

  • 合法标识符例举:age,$salary,_value

  • 非法标识符例举:123abc,-salary,#abc

  • 可以用中文,但不建议

数据类型

强类型语言

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

弱类型语言

对变量的使用规定比较随意,安全性更低,速度更快

Java的数据类型分为两大类

  • 基本类型

    1. 整数类型:int,short,byte,long (long类型要在数字之后加L)

    2. 浮点数类型:float,double (float类型要在数字后加F)

    3. 字符类型:char

    4. boolean类型:true或false

      string字符串是类而不是关键字

  • 引用类型

    1. 接口

    2. 数组

字节

  • 位(bit):计算机内部数据储存的最小单位

  • 字节(byte):是计算机储存的基本单位,用B来表示

  • 1B=8bit

  • 1024B=1KB,1024KB=1M,1024M=1G

数据类型扩展及面试题

整数拓展

  • 二进制:0b

  • 八进制:0

  • 十六进制:0x

浮点数拓展

float f = 0.1f;
double d = 1.0/10;
f!=d;

float是有限的,结果是个大约数,接近但不等于

最好完全使用浮点数进行比较

BigDecimal-->数学工具类

银行业务要用此来表示

字符类拓展

char c1 = 'a';
char c2 = '中';
System.out.println((int)c1)

可以强制转换字符为数字

所有字符的本质还是数字

转义字符

System.out.println("Hello\nWorld");

布尔值扩展

boolean flag = true;
if(flag==true)
{
   
}
if(flag)
{
   
}

这两行代码的意思是完全一样的,代码要精简易读

类型转化

低--------------------------------------------------------------高

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

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

为什么呢?

Byte类最大值为127,内存溢出后就会出问题

转换时要注意避免内存溢出

  • 强制转化

    规则:(类型)变量名

  • 自动转化

    低-->高

    int i=10;

    double = i;

注意点:

  1. 不能对布尔值进行转换

  2. 不能把对象类型转化为不相干的类型

  3. 大容量-->低容量要强制转换,反之自动转化

  4. 转换的时候可能存在内存溢出或者精度问题

  5. JDK7新特性:数字之间可以用下划线分割

    int money = 10_0000_0000;
    int years = 20;
    int total = money*years;
    long total2 = money*years;
    System.out.println(total2);
    //输出的结果值溢出,因为money和years都是int类型的值,所以total2默认为int型
    //正确做法:
    long = total3 = money*((long)years);
    System.out.println(total3);

变量

  • 变量是什么:就是可以变化的量!

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

  • 要素包括变量名,变量类型和作用域

变量作用域

  • 类变量

  • 实例变量:从属于对象,相当于全局变量,不一定要赋初始值

    布尔值初始值为false,string初始值为null

  • 局部变量:在一个方法内使用,方法结束该变量就“死了”,必须赋初始值

变量的命名规范

  • 所有变量,方法,类名:见名知意

  • 类成员变量:首字母小写和驼峰原则:monthSalary

  • 局部变量:首字母小写和驼峰原则

  • 常量:大写字母和下划线:MAX_VALUE

  • 类名:首字母大写和驼峰原则:Man,GoodMan

  • 方法名:首字母小写和驼峰原则:run(),runRun()

运算符

  • 算数运算符:+,-,*,/,%,++,--

  • 赋值运算符:=

  • 关系运算符:>,<,>=,<=,==,!= instanceof

  • 逻辑运算符:&&,||,!

  • 位运算符:&,|,^,~,>>,<<,>>>

  • 条件运算符:?:

  • 扩展赋值运算符:-=,+=,/=,*=

自增自减

++:自增

--:自减

int a=3;
int b=a++;
//a++等于a=a+1
//a++先赋值,在自增
int c=++a;
//++a先自增,在赋值

幂运算

2^3 = 2 * 2 * 2 =8

double pow=Math.pow(2,3)

pow = 2^3 =8

很多运算我们会使用工具操作

逻辑运算符

  • && :与

  • || :或

  • !:非

  • 与运算-有假为假

  • 或运算-有真为真

  • 非运算-假为真,真为假

//短路运算
int c = 5;
boolean d =(c<4)&&(c++<3);
System.out.println(d);
System.out.println(c);
//输出d为false
//输出c为5
//在c<4这里已经错了,有假为假,此时后面的内容就不在执行,所以c的自增没有实行

位运算

A=0011 1100

B=0000 1101

A&B = 0000 1100(两个都是1则为1,否则为0)

A|B = 0011 1101 (两个都是0则为0,否则为1)

A^B = 0011 0001 (相同为0,不同为1)

~B = 1111 0010 (取反)

问:2 * 8怎么算最快

0000 0010 2

0000 1000 8

0001 0000 16

答:<<即为 *2,>>即为/2

字符串连接符 +

int a=10;
int b=20;
System.out.println(""+a+b);
//输出为1020

三元运算符

x ? y : z

如果x==true,则结果为y,否则结果为z

例:string type =score < 60?"不及格":"及格";

包机制

  • 为了更好的组织类,Java提供了包机制,用于区别类名的命名空间

  • 包语句的语法格式为:

    package pkg1[. pkg2[. pkg3]]

  • 一般利用公司域名倒置作为包名

  • 为了能够使用某一个包的成员,我们需要在java程序中明确导入该包,使用“import”语句

    import com.kuang.www.*;导入包里面全部

  • 包的本质就是文件夹

JavaDoc

String name;

   /**
    *
    * @param name
    * @return
    * @throws Exception
    */
       public String test(String name)throws Exception
      {
           return name;
      }

 

posted on 2021-08-10 16:37  prnp  阅读(101)  评论(0)    收藏  举报