java学习录(基础)

2019年9月23日12:58:07
评论
2,217 次浏览 2523字阅读8分24秒

基本数据类型

整数类型

表示形式:

  • 十进制:不能以0作为十进制数的开头
  • 八进制:必须以0开头
  • 十六进制:必须以0X或0×开头

数据类型:

  • byte:内存空间8位,取值范围:-128~127
  • short:内存空间16位,取值范围:-32768~32767
  • int :内存空间32位,取值范围:-2147483648~2147483647
  • long:内存空间64位,取值范围:-9223372036854775808~9223372036854775807

注:long型定义时需要在数字后加L或l

浮点类型

数据类型:

  • float:内存空间32位,取值范围:1.4E-45~3.4028235E38
  • double:内存空间64位,取值范围:4.9E-324~1.7976931348623157E308

注:定义float时需要在数字后加F或f,定义double时在数字后加D或d或什么都不加

字符类型

数据类型:

  • char:内存空间16位,'X'表示一个字符,“X”表示一个字符串

字符与Unicode转换:转换时需要进行强制转换

实例:

[block]

char x= 'd';
int p = 23045;
System.out.println((int)x);
System.out.println(char)p);

[/block]

 

转义字符:

  • \ddd:1~3位八进制数据所表示的字符,如\123
  • \uxxxx:4位十六进制数据所表示的字符,如\u0052
  • \':单引号字符
  • \\:反转义,反斜杠字符
  • \t:垂直制表符
  • \r:回车
  • \n:换行
  • \b:退格
  • \f:换页

布尔类型

数据类型

  • true真
  • false假

实例:

[block]

boolean a = true;
boolean b = false;

[/block]

 

变量与常量

标识符与关键字

标识符:可由字母,下划线,美元符号,数字组成,第一个字符不能是数字。

关键字

int public this finally boolean abstact
continue float long short throw throws
return break for static new interface
if goto default byte do case
strictfp package super void try switch
else catch implements private final class
extends volatile while synchronized instanceof char
protected import transient dafault double

声明变量

同C语言

声明常量

在变量前加final

常量不可以重新赋值

变量的有效范围

成员变量

定义:成员变量在类体中定义,并且在整个类中都有效,类的成员变量又可分为两类,静态变量和实例变量

实例:

[block]
class var{
int x = 45;
static int y = 90
}
[/block]
x为实例变量,y为静态变量,静态变量的有效范围可以跨类,可达到整个应用程序之内,在其他类内以类名.静态变量的方式使用。

局部变量

定义:在类的方法体中定义的变量称为局部变量,局部变量旨在当前代码块中有效。

实例:

[block]

public class Val{
  static int times = 3;
  public static void main(String[] args){
    int times = 4;
    Ststem.out.println("time 的值为:"+times);
    }
}

[/block]

赋值运算符

符号:=

定义:是一个二元运算符,将右方的值赋给左方

实例:

[block]

int a = 10;

[/block]

算术运算符

符号:+、-、*、/、%

自增自减运算符

定义:是单目运算符,是变量值增一或减一

实例:

[block]

++a;
--a;
a++;
a--;

[/block]

符号在前,先自增再运算

符号在后,先运算再自增

比较运算符

定义:可以用于变量与变量之间比较,运算结果为boolean类型,运算关系成立时,运算结果为true,否则为false,通常用作条件语句中。

符号:>,<,==,>=,<=,!=

逻辑运算符

定义:逻辑运算符的操作元必须是boolean型数据

符号:&&、&、!、||

位运算符

移位操作

定义:将数据的二进制数据按照指定的位数移动,空位补0

适用类型:byte,short,char,int,long

符号:

  • <<:左移
  • >>:右移
  • >>>:无符号右移

[block]

小结:移位可以实现整数除以或乘以2^n的效果,左移乘2^n,右移除以2^n
例:y<<2与y*4的结果相同
y>>1与y/2的结果相同

[/block]

三元运算符

格式:条件式?值1:值2

定义:若条件式的值为true,则整个表达式取值1,否则取值2(相当于if else语句)

实例:

[highlight lanaguage="java"]

boolean b = 20<45?true:false;

[/highlight]

等价于

[highlight lanaguage="java"]

boolean a;
if (20<45)
  a = true;
else
 a = false;

[/highlight]

运算符优先级

运算符优先级由高到低的顺序依次是:

  1. 增量与减量运算
  2. 算术运算
  3. 比较运算
  4. 逻辑运算
  5. 赋值运算
优先级 描述 运算符
1 括号 ()
2 正负号 +、-
3 一元运算符 ++、--、!
4 乘除 *、/、%
5 加减 +、-
6 移位运算 >>、>>>、<<
7 比较大小 <、>、>=、<=
8 比较是否相等 ==、!=
9 按位与运算 &
10 按位异或运算 ^
11 按位或运算 |
12 逻辑与运算 &&
13 逻辑或运算 ||
14 三元运算符 ?:
15 赋值运算符 =

 

数据类型转换

精度从低到高排列顺序为:byte<short<int<long<float<double

隐式类型转换

规则:按低精度向高精度转换

实例:

[highlight lanaguage="java"]

int x = 50;
float y = x;

[/highlight]

显示类型转换(强制转换)

规则:当高精度转换为低精度是,使用强制转换,但会损失精度

实例:

[highlight lanaguage="java"]

int a = (int)45.23;
long y = (long)456.6F;
ing b = (int)'d';

[/highlight]

 

7z7z7z
  • 本文由 发表于 2019年9月23日12:58:07
  • 转载请务必保留本文链接:https://www.7z7z7z.cn/index.php/2019/09/23/java%e8%af%ad%e8%a8%80%e5%9f%ba%e7%a1%80/
ArrayList底层实现 编程语言

ArrayList底层实现

ArrayList底层是用数组实现的存储 特点和数组相同: 查询效率高 增删效率低 线程不安全 常用容器: 查询数据ArrayList(最常用) 增删数据常使用LinkedList 线程安全常使用Ve...
static关键字 编程语言

static关键字

为什么static方法内不能调用非静态属性,方法 static方法加载类时就已经创建在方法区,从属于类,非静态属性,方法创建对象时才创建,储存在堆,从属于对象,类加载对象不一定加载,无法找到对应属性和...
this关键字 编程语言

this关键字

this关键字通常用于构造方法中,当一个构造方法调用另一个构造方法无法像函数一样调用,需要用this调用,且要在第一行 为什么放在第一行 java在编译时会进行校验,每个方法只能调用一次this,同时...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: