预备知识
Dos命令
-ncd\表示返回当根目录
■ cd A\B\C
表示进入当前录下的A文件夹下的B文件夹下的C文件夹下面
■ E:
■ 进入E盘根目录
运行时注意的问题
//假设该文件的名字是Test.java class A { public static void main(String[] args) { System. out. printf("欢迎来到Java"); } }
测试数据 javac Test.java java A
不能写java Test,编译时必须写文件名,运行时写的是文件中的类名
Java中的注释
三种注解: // 、 /**/ 、 /** */
- // 单行注解,不需要配对
- /**/ 多行注解,需要配对
- /** */ 用于将注解变为说明文档,用javadoc实现.
Java语言的基本要素-标识符
- 程序员对程序中的各个元素加以命名时使用的命名记号称为标识(identifier)
包括:类名、变量名、常量名、方法名、...- Java语言中,标识符是以字母,下划线(_ ),美元符($)开始的一一个字符序列,后面可以跟字母,下划线, 美元符,数字。
- 合法的标识符
- identifier userName User_ Name
- _sys_ value $change
- 非法的标识符
- 2mail room# class
Java语言的关键字
- 令Java 中一些赋以特定的含义,用做专门用途的字符串称为关键字(keyword) 。
- 大多数编辑器会将关键字用特殊方式标出
- 令所有Java关键字都是小写英文。
- goto 和 const 虽然从未使用,但也作被为 Java 关键字保留。
k e y w d abstract default if private this boolean do implements protected throw break double import public throws byte else instanceof return transient case extends int short try catch final interface static void char finally long strictfp volatile class float native super while const for new switch null continue goto package synchronized
数据类型
Java数据类型的划分
数据类型
基本数据类型
数值型
整数类型(byte, short, int, long)
浮点类型(float, double)字符型(char)
布尔型(boolean)引用数据类型
类(class)
接口(interface)
数组
输出数据的格式控制
输出控制符 针对的数据类型 %d int, long int , short, byte %x,%#x,%X,%#X int, long int %c char %f float, double %s String 注意:
在java中没有%ld和%lf,比如float和double都用 %f输出,这是与C/C++不同的
十六进制输出控制符
class TestHex { public static void main( String[] args) { int i= 253; System.out.printf("%x\n", i); System.out.printf(" %X\n", i); System.out.printf("%#x\n", i); System.out.printf(" %#X\n", i); } }
输出结果 FD 0xfd 0XFD
常量--整型常量
整型常量
- 十进制(12),十六进制(0x12),八进制(012)
- 一个常量整数默认是int类型,如果数字过大,则必须的在末尾加L,否则>会出错!
例子:
long i = 9223372036854775807; //error
编译报错提示数字过大,但是如果改为:
long i = 9223372036854775807L;
就可以了
常量--浮点常量
浮点常量
- 一个实数默认是double类型, 如果希望一个实数是float类型, 可以在
数字后面加f(F)- 将一个double类型数值赋给float类型变量,编译是会报错
例子:
float X= 2.2; //error float x= 2.2f; //OK
常量---字符常量
■字符常量
- 必须用单弓1号括起来
- Java中字符和字符串都用Unicode编码表示
- 在Unicode编码中一一个字符占两个字节
■ 'a' 'B' '\n' '\u0030'
■ 特殊字符的常量表示法- 反斜线( Backslash) ----------------------- '\\'
- ( Backspace )--------------------------------'b'
- 回车(Carriage return )-----------------------'\r'
- 制表符( Form feed)---------------------------'t'
- 换行(New line)-----------------------------------'\n'
- 单引号(Single quote)---------------------------'\'
字符常量的“\uxxxx’表示
public class A { public static void main( String0 args) { char ch1 ='中"; char ch2 = "\u4e2d'; //'\uxxXx'表示十六进制的XXxx所对应的Unicode编码下的字符 System.out.printf("%c %c\n", ch1, ch2); } }
// 在JDK 1.6中的运行结果是: ------------------- 中 中 -------------------
常量---布尔类型
■ 用boolean表示,不能写成bool
■ 布尔型数据只有两个值true和false,且它们不对应于任何整数值
■ 布尔型变量的定义如:
boolean b = true;
■ 布尔型数据只能参与逻辑关系运算:&& || == != !
■ 注意:- If while for中进行真假判断时只能使用逻辑表达式
不同类型变量存储范围
■ byte占用一个字节,数字大小为 -27-----27 - 1
■ short占用两个字节,数字大>小为 -215-----215 - 1
■ int占用四个字节,数字大小为-231----- -231-1
■ long占用八个字节,数字大小为-263-----263 - 1
■ float占用四个字节,数字大小为1.4E-45 ~ 3.4E+308,-1.4E-45 ~ -3.4E+308
■ 用二进制的指数形式表示一一个 浮点数的格式,如: 10122,1012-3
■ double占用八个字节,数字大小为4.9E-324~1.7E+308, 4.9E-324~-
1.7E+308。
■ char占两个字节, 数字大小为0- -216 - 1,是unicode编码 。
■ boolean占一个字节,其取值只有两个,true和false。
类型 占用存储空间 表数范围 byte 1字节 -128 ~ 127 short 2字节 -215 ~ 215 - 1 int 4字节 -231 ~ 231 - 1 long 8字节 -263~ 263 - 1
类 型 占用存储空间 表数范围 float 4字节 -3.403E38 ~ 3.403E38 double 8字节 -1.798E308~1.798E308
数据类型的转化
■ 不能对boolean类型进行类型转换。
■ 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
■ 整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化>为同一类型,然后进行运算,转换从低级到高级:
低------------------------------------------------------>高
byte- -> char- > int- -> long- -> float一> double
数据类型的转化举例
public c lass TestData { public static void main( String[] args){ byte b = 10; int i = 6; i = b;//OK //b= i; //error会丢失数据 b = (byte)i; //Ok强制类型转化 float x; //x = 10*0.2; //error 10*0.2;是double类型 x = 10*0.2f; //OK System.out.printf(b +","+ i+","+ x);}
运行结果:
10,10,2.0
运算符
■ java中的运算符
■ 算术运算符
+ - * / %
■ 关系运算符
> >= < <= != ==
逻辑运算符
! && ||
■ 赋值运算符
= += *= /= %=
■ 位运算符
& | ~ ^
■ 算术运算符(+)
■ +可以表示数值的相加
■ +可以表示字符串的联接
如:“123”+“abc”的结果是“123abc”
■ +还能把非字符串转换成字符串
如: “x”+123;的结果是“x123”
■ 分析System.out.println('a'+1)
与
System.out.println(""+'a'+1)
的区别
除法运算符( / )
■ 除法/的运算结果和运算对象的数据类型有关,若两个数都是int,则商就是>int,若商有小数,则截取小数部分;若两个对象中有一一个或两个都是浮点型>数据,则商也是浮点型,不截取小数部分
如:
16 / 5 == 3
16 / 5.0 == 3.20000
-13 / 4 == 4
-13 / -3 == 4
3 / 5 == 0
5 / 3 == 1//测试代码如下: public class A{ public static void main(String[] args){ double x= 1/2.0; //考虑改为% 1.0 / 2 1.0 / 2.0 输出结果会怎样 System.out.printf("%f\n", x); } }
取余运算符(%)
■ Java中允许取余运算符的被除数和除数是实数>(这与C/C++是
不同的),但所得余数的正负只和被除数相同
■ 例子double X = 1%-0.3; System.out.println(x);
输出结果: 0.10000000000000003
网友评论