// + (内容)
/* (内容) */
tools - generate JavaDoc...
设置 Locale
zh_CN
设置 Other command line arguments
-encoding UTF-8 -charset UTF-8 -windowtitle "接口文档3.4" -link http://docs.Oracle.com/javase/7/docs/api
/** (内容) /*
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。
Java是强类型语言。所以所有变量先定义再使用。
对变量的数据类型界限不是很清楚。
例如:在VB Script中,可以将字符串 12 和整数 3 进行连接得到字符串 123,然后可以把它看成整数 123,而不需要显式转换。
类型 | 字节 | 范围 |
---|---|---|
byte(整数型) | 1字节 | -128~127 |
short(整数型) | 2字节 | -32768~32767 |
int(整数型) | 4字节 | -2147483648~2147483647 |
long(整数型) | 8字节 | -9223372036854775808~... |
float(浮点型) | 4字节(8位指数值) | ±2128到±2(-149) |
double(浮点型) | 8字节(11位指数值) | ±21024到2(-1074) |
char(字符类型) | 2字节 | 所有字符(Unicode编码) |
boolean类型 | 1位 | true or false |
//八大数据类型 //整数 int num1 = 10; //最常用 byte num2 = 20; short num3 = 30; long num4 = 30L;//long类型要在数字后面加个L或者l //小数;浮点数 float num5 = 40.1F;//float类型要在数字后面加个f或者F double num6 = 3.14159; //字符 char name = '国';//字符只有一个字符 //字符串,String不是关键字,是类 String name2 = "大可爱"; //布尔值,表示是非 boolean flag1 = true; boolean flag2 = false; //==================================================== //整数拓展 进制 二进制0b 十进制 八进制0 十六进制 int n1 = 10; int n2 = 010; int n3 = 0x10; //====================================================//浮点数拓展 //==================================================== //float 有限 离散 舍入误差 大约 接近但不等于 //double //最好不用浮点数进行比较 精确比较用BigDecimal //比较大的数字进行输入时可以使用_下划线来分割数字,不影响输出和计算。 float f1 = 0.1f; //0.1 double d1 = 1.0/10; //0.1 System.out.println(f1==d1); //false //==================================================== //字符拓展 //==================================================== char c1 = 'a'; char c2 = '中'; System.out.println(c1);//a System.out.println((int)c1);//97 强制转换 System.out.println(c2);//中 System.out.println((int)c2);//20013 强制转换 //所有的字符本质还是数字 //字符在java中采用unicode编码 占用2字节 0-65536 //U0000~UFFFF char c3 = '\u0052'; System.out.println(c3);//R //==================================================== //转义字符 //==================================================== // \t 制表 // \n 换行 // .... System.out.println("hello\nworld"); //==================================================== //布尔类型 //==================================================== boolean flaga = true; if(flaga==true){} //新手 if(flaga){} //老手 //java代码要精简易读
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
\\低------------------------------------>高 \\byte,short,char->int->long->float->double \\运算中,不同类型的数据先转化为同一类型,然后进行运算。 int a = 128; byte b = (byte)a; //数据溢出 double c = a; //冗余 //强制转换 (类型)变量名 高->低 //自动转换 直接引用 低->高 System.out.println(a);//128 System.out.println(b);//-128 System.out.println(c);//128 System.out.println("=============================="); System.out.println((int)23.7);//23 System.out.println((int)-45.8f); //-45 System.out.println("=============================="); char d = 'a'; int f = d+1; System.out.println(f);//97 System.out.println((char)f);//b /* 注意点: 1.不能对布尔值进行转换 2.不能把对象值转换为不相干的类型 3.在把高容量转换为低容量的时候,强制转换。 4.转换的时候可能存在数据溢出,或者精度问题。 */
Java时一种强类型语言,每个变量都必须声明其类型。
Java变量时程序中的最基本的存储单元,其要素包括变量名,变量类型和作用域。
tpye varName [=value][{,varName=[=value]}] //数据类型 变量名 = 值 ;可以用逗号隔开来声明多个同类型变量。
注意事项
public class demo06 { //属性:变量 //实例变量;从属于对象; //实例变量如果不进行初始化,则为默认值。 //布尔值:默认为false 除了基本类型,其余默认值都为null //类变量 前面都有static static int salary = 2500; String name; int age; //main方法 public static void main(String[] args) { //局部变量:必须声明和初始化值 //局部变量只在方法里面有效 int i = 10; System.out.println(i);//10 //变量类型 变量名字 = new demo06(); demo06 demo06 = new demo06(); System.out.println(demo06.age);//0 System.out.println(demo06.name);//null System.out.println(salary);//2500 } //其他方法 public void add(){ } }
常量:初始化后不能再改变值,不会变动的值。
所谓常量可以理解成一种特殊的变量。他的值被设定后,再程序运行过程中不允许被改变。
常量名一般使用大写字符。
final 常量名 = 值; final double PI = 3.14;
算术运算符 | 名称 | 例子 |
---|---|---|
+ | 加法 | 5+12=17 |
- | 减法 | 25-10=15 |
* | 乘法 | 3*8=24 |
/ | 除法 | 24/6=3 |
% | 求余 | 24%7=3 |
++ | 自增1 | int i = 5;i++ |
-- | 自减1 | int i = 5;i-- |
public class Demo03 { public static void main(String[] args) { int a = 4; int b = a++;//a++ 先赋值再自增 int c = ++a;//++a 先自增再赋值 System.out.println(a);//6 System.out.println(b);//4 System.out.println(c);//6 //幂运算 2^3 double pow =Math.pow(2,3); System.out.println(pow);//8 } }
赋值运算符是指为变量或常量指定数值的符号。如可以使用 “=” 将右边的表达式结果赋给左边的操作数。
运算符 | 名称 | 举例 |
---|---|---|
= | 赋值 | c=a+b将把a+b得到的值赋给c |
+= | 加等于 | c+=a等价于c=c+a |
-= | 减等于 | c-=a等价于c=c-a |
*= | 乘等于 | c * =a等价于 c=c * a |
/= | 除等于 | c /=a等价于 c=c / a |
%= | 模等于 | c % =a等价于 c=c % a |
比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。
比较运算符 | 名称 | 举例 | 结果 |
---|---|---|---|
> | 大于 | a=5; b=2; a>b; | true |
< | 小于 | a=5; b=2; a<b; | false |
>= | 大于等于 | a=5; b=2; a>=b; | true |
<= | 小于等于 | a=5; b=2; a<=b; | false |
== | 等于 | a=5; b=2; a==b; | false |
!= | 不等于 | b=2; b!=2; | false |
逻辑运算符主要用于进行逻辑运算。Java 中常用的逻辑运算符如下表所示:
逻辑运算符 | 名称 | 举例 | 结果 |
---|---|---|---|
&& | 与 | a&&b | 如果a与b都为true,则返回true |
|| | 或 | a||b | 如果a与b任一为true,则返回true |
! | 非 | !a | 如果a为false,则返回true,取相反结果 |
^ | 异或 | a^b | 如果a与b有且仅有一个为ture,则返回true |
//逻辑运算符 public class Demo04 { public static void main(String[] args) { //与(and) 或 (or) 非(取反) 异或 Boolean a = true; boolean b = false; System.out.println(a && b);//与 false System.out.println(a || b);//或 true System.out.println(!(a && b));//非 true System.out.println(a ^ b);//异或 true //短路运算 int c = 5; boolean d = (c<4)&&(c++<4);//只要判断第一个符合运算,第二个就不进行运算 System.out.println(d);//false System.out.println(c);//5 } }
进行位运算时,先将数据转换成二进制。
进行位操作时,除long型外,其他类型会自动转成int型,转换之后,可接受右操作数长度为32。进行位运算时,总是先将短整型和字节型值转换成整型值再进行移位操作的
a = -20 // a = 11111111 11111111 11111111 11101100 b = 30 // b = 00000000 00000000 00000000 00011110
含义 | 运算符 | 举例 |
---|---|---|
左移 | << | 末尾补0 相当于乘2 |
右移 | >> | 负数:最高位补符号位1 正数:最高位补符号位0 相当于除2 |
无符号右移 | >>> | 无论是整数还是负数,右移最高位一律补0 |
&(位与) | $ | 当相对应的位都为1时,等于1,否则等于0 |
|(位或) | | | 当相对应的位有一个为1时,等于1,否则等于0 |
^(异或) | ^ | 当相对应的位不相同时,等于1,相同时等于0 |
~ (取反) | ~ | 1等于0,0等于1 |
条件运算符( ? : )也称为 “三元运算符”。
语法形式:布尔表达式 ? 表达式1 :表达式2
运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值
例如:
public class HelloWorld{ public static void main(String[] args) { int score=68; String mark =(score>=60)?"及格":"不及格"; System.out.println("考试成绩如何:"+mark); } }
为了更好地组织类,Java提供了包机制,用于区别类名地命名空间。(分包管理类)
包语句地语法格式为:
package pkg1[.pkg2[.pkg3...]];
一般利用公司域名倒置作为包名。
www.baidu.com
com.baidu.www
为了能够使用某一包地成员,我们需要在Java程序中明确导入该包。使用"import"语句可完成此功能。
import package1[.package2...].(classname|*); // * 通配符