Java基础

基础

01:注释

  1. 种类:单行注释、多行注释、文档注释

  2. 单行注释 “//xxxx”

  3. 多行注释 “/*xx

    ​ xx*/”

  4. JavaDoc文档注释 “/** xxxx */”

02标识符和关键字

关键字:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

标识符

定义:Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

注意点:

  • 所有的标识符都应该以字母或$(美元符)或下划线开始
  • 首字符之后可以是字母/$/下划线/数字
  • 不能用关键字作为变量名或方法名
  • 标识符大小写敏感

03数据类型

Java是强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。(相反的还有弱类型语言)

Java的数据类型分为两大类:

  • 基本类型

    1. 数值类型

      整数类型:byte(1个字节)范围-128~127

      ​ short(2个字节)范围-32768~32767

      ​ int(4个字节)范围-2147483648~2147483647

      ​ long(8个字节)范围-9223372036854775808~9…7

      浮点类型:float(4个字节)

      ​ double(8个字节)

      (浮点数拓展:银行业务 用BigDecimal表示 最好避免用浮点数进行比较)

      字符类型:char(2个字节)

    2. 布尔类型:boolean(占一位)只有true和false

  • 引用数据类型:

​ 类

​ 接口

​ 数组

04类型转换

低——————————————————>高

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

  • 强制转换:高到低;方法:(转换后的类型)变量名
  • 自动转换:低到高;不用方法,自动的

不能对布尔值进行转换

不能把对象类型转换为不相干的类型

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

一个例子:int a=10_0000_0000;

​ int b=20;

​ long c=a*b;

​ 结果输出c= -1474836480;

​ 这是因为a,b本来都是int类型,所以计算出来的结果也先是int类型,再被强制转换为long类型,

​ 而200_0000_0000超出了int的 范围,所以算出来的结果不对

​ 可以在定义的时候就把a,b定义为long类型,也可以强制转换:long c=a*(long)b

题外话( JDK7新特性:数字之间可以用下划线分隔,对输出无影响。如10_0000_0000)

05变量、常量、作用域

  • 变量:可以变化的量

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

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

实例变量:从属于对象,在方法外,如果不初始化,这个类型的默认值是0 or 0.0,布尔值默认是false,除了基本类型,其他类型的默认值都是null

局部变量:在方法里面,必须声明和初始化值

类变量:在方法外,数据类型前加一个static

  • 常量:初始化后不能再改变的值,可以理解为一种特殊的变量

final 常量名=值;

常量名一般用大写字符

  • 变量的命名规范

类成员变量and局部变量:首字母小写、驼峰原则

常量:所有字母都大写,不同单词之间用下划线隔开

类名:首字母大写和驼峰原则

方法名:首字母小写和驼峰原则

06基本运算符

基本的只记一个我不容易记住的:% 取余运算 也叫模运算

题外话:复制当前行到下一行的快捷键:Ctrl+D

自增符:++

  • a++:先赋值再自增

    a=1;

    b=a++;

    输出a=2;b=1

  • ++a:先自增再赋值

    a=1;

    b=++a;

    输出a=2;b=2

Math类:Math. 比如Math.pow(a,b)是a的b次方

07逻辑运算符、位运算符

逻辑运算符:&&与;||或;!非

*短路运算:当a&&b的a为假时,就不执行后面的b了

位运算符[与二进制有关]

& | ^ ~

例子:

A=0011 1100;

B=0000 1101;

A&B=0000 1100;

A|B=0011 1101;

A^B=0011 0001;(异或)

~B=1111 0010;(取反)

<< 左移 相当于乘2

右移 相当于除以2

例子:

0000 0000 0

0000 0001 1

0000 0010 2

0000 0100 4

0000 1000 8

0001 0000 16

所以2<<3=16

[位运算效率极高]

08三元运算符及小结

(三元运算符)条件运算符: ? :

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


以下不是三元运算符

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

a+=b即a=a+b

字符串[String]连接符:+

例子:

int a=10;

int b=20;

则" "+a+b=1020;

a+b+" "=30;

(" "代表一个空的字符串)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值