黑马程序员_java 基础语法

来源:互联网 发布:淘宝店铺背影怎么设置 编辑:程序博客网 时间:2024/05/24 15:37
1.标识符 
Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符。 
Java标识符命名规则: 
①标识符由字母、下划线“_”、美元符号“$”、数字组成。 
②标识符由字母、下划线“_”、美元符号“$”开头。 
③标识符大小写敏感,长度无限制。 

2.关键字 
Java中一些赋以特定的含义,用做专门用途的字符串称为关键字(keyword)。 
所有java关键字都是小写英文。 

Java关键字: 

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

3.常量 (不可变的变量) 
定义:值不变的量称为常量。 
1)在Java中使用final关键字来定义一个常数。 

int final a=10; //声明了一个整型常量a,它的值是10。  
2)习惯上将常量的名字统统大写。 

4.Java变量 
Java变量时程序中最基本的存储单元,其要素包括:变量类型、变量名、作用域。 
例如: 

int i = 100;  float f = 12.3f;  String s = “hello”;  


从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用。 

Ps:程序执行过程 
①在硬盘上存在一个程序,当运行时,第一步是将代码load到内存区。 
②第二步,在内存中已存在的操作系统代码会找到程序代码的main方法开始执行。 
③第三步,开始执行之后,操作系统代码会执行内存管理,将执行过程中的内存分为四部分: 
code segment(代码区,存放代码) 
data segment(存放静态变量、字符串常量) 
stack(栈,存放局部变量) 
heap(堆,存放new出来的东西)
 

5.Java变量的分类 
5.1按被声明的位置划分: 
    局部变量:方法体内或语句块内部定义的变量。 
    成员变量:方法体外,类体内定义的变量。 
5.2按所属的数据类型划分: 
   基本数据类型:“4类8种”。 
   在算范围时候需要拿一位作为符号位 
      Eg: byte  1字节 = 8 位   2的7次方-1 = 127
 
 

Java浮点型常量默认为double型,声明float型必须加小写‘f’或大写‘F’, 
例如: 

double d = 12345.6; //正确  float f = 12345.6f; //必须加f,否则报错  
Java语言的整型常量默认为int型,声明long型常量必须加小写‘l’或大写‘L’ 
例如: 

int i = 600; //正确  long i = 88888888888888888888L ;//必须加L,否则报错  

5.2.3引用数据类型: 
3类:类(class)、接口(interface)、数组 

6.基本数据类型转换 

1.boolean类型不可以转换为其它的数据类型 

2.Java 中简基本数据类型的转型: 
Java 中的简单数据类型的转换分为两种: 自 动转换和强制转换 
1) 自动转换: 
  当一个较“小”的数据和较“大”的数据一起运算的时候,系统将自动将较“小”的数据转换为较“大”的数据,再进行运算。 
  在方法调用过程,如果实际参数较“小”,而函数的形参比较“大”的时候,除非有匹配的方法,否则会直接使用较“大”的形参函数进行调 用。 
2) 强制转换: 
  将“大”数据转换为“小”数据时,可以使用强制类型转换,在强制类型转换的时候必须使用下边这种语句:
int a = (int)3.14;  

只是在上边这种类型转换的时候,有可能会出现精度损失。 
  关于类型的自动提升,遵循下边的规则: 
   所有的 byte 、 short 、 char 类型的值将提升为 int 类型; 
  如果有一个操作数是 long 类型,计算结果是 long 类型; 
  如果有一个操作数是 float 类型,计算结果是 float 类型; 
  如果有一个操作数是 double 类型,计算结果是 double 类型; 
  自动类型转换图如下: 
   byte -> short(char) -> int -> long -> float -> double 
  如果是强制转换的时候,就将上边的图反过来 
3) 转换附加: 
  当两个类型进行自动转换的时候,需要满足条件: 
    【 1 】这两种类型是兼容的 
    【 2 】目的类型的数值范围应该比源转换值的范围要大。 
     而拓展范围就遵 循上边的自动类型转换树,当这两个条件都满足的时候,拓展转换才会发生,而对于几个原始类型转换过程,根据兼容性 boolean 和 char 应该是独立的,而其他六种类型是可以兼容的,在强制转换过程,唯 独可能特殊的是 char 和 int 是可以转换的,不过会使用 char 的 ASCII 码值比如: 
int a = (int)'a';  

 a 的值在转换过后输出的话,值为 97 ; 


7.运算符 
Java语言支持如下运算符: 
★算数运算符:+,-,×,/,%,++,-- 
★关系运算符:>,<,>=,<=,==,!= 
★逻辑运算符:!,&,|,^,&&,|| 
★位运算符:&,|,^,~,>>,<<,>>> 
★赋值运算符:= 
★扩展赋值运算符:+=,-=,×=,/=,%= 
★字符串连接运算符:+ 

0 0