Java语法基础
1.注释、标识符、关键字
注释
/**
* 可以用来自动创建文档的注释
*/
public class Hello {
public static void main(String[] args) {
// 向屏幕输出文本:
System.out.println("Hello, world!");
/* 多行注释开始
注释内容
注释结束 */
}
} // class定义结束
//Java入口程序规定的方法必须是静态方法,方法名必须为main,括号内的参数必须是String数组。
标识符
-
所有标识符应以字母(A-Z或者a-z)、美元符($)、或者下划线(-)开始
-
首字符之后可以是字母、美元符、下划线或数字的任何字符组合
-
不能使用关键字作为变量或方法名
-
标识符是大小写敏感的
关键字

2.数据类型
-
强类型语言:要求变量的使用要严格符合规定,所有变量必须先定义后才能使用
-
弱类型语言:JavaScript
-
Java的数据类型分为两种:
-
基本类型(整型[4种]、浮点型[2种]、字符型[1种]、布尔型[1种])和引用类型(类、接口、数组)
-
byte:-128 ~ 127
-
short: -32768 ~ 32767
-
int: -2147483648 ~ 2147483647
-
long: -9223372036854775808 ~ 9223372036854775807
-
-
什么是字节?
位(bite) : 计算机 内部数据 存储的最小单元,11001100是一个八位二进制数
字节(byte) : 计算机中 数据处理 的基本单元,习惯上用大写B来表示。
1B (byte,字节) = 8bit (位)
字符:计算机中使用的字母、数字、字和符号
public class Demo02 {
public static void main(String[] args) {
float f = 0.1f;
double d = 1.0/10;
// 少用浮点数进行比较!!!
System.out.println(f==d); //false
System.out.println(f);
System.out.println(d);
//===================================================================================
//float类型可最大表示3.4x10^38,而double类型可最大表示1.79x10^308
//数学工具类:BigDecimal 数学工具类
float i1 = 34567891234567893456f;
float i2 = i+1;
System.out.println(i1==i2); //true
//=================================================================================
//字符拓展 所有字符本质还是数字
char c1 = 'A';
char c2 ='中';
System.out.println((int)c1); //强制转换
System.out.println((int)c2);
//转义字符 \t(制表符) \n(换行) .....
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb); //false
String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd); //true
}
}
3.类型转换
由于Java是强类型语言。所以要进行有些运算的时候要用到类型转换。
// 低——————————————————————————————————————>高 // byte,short,char——>int——>long——>float——>double
运算中不同类型的数据转换为同一类型,再计算。
-
强制转换:高——》低 转换时注意溢出
-
自动转换:低——》高
4.变量、常量、作用域
-
Java变量 是程序中最基本的存储单元,其要素包括:变量名、变量类型 和 作用域。
-
Java是一种强类型语言,每个变量都必须声明其类型。
type varName [=value] [{,varName[=value]}];
//数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量
-
注意事项
-
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
-
变量名必须是合法的标识符
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
-
变量作用域:类变量、实例变量、局部变量
public class Demo03 {
//属性:变量
//类变量 static
static double salary = 15000;
//实例变量:从属于对象
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量:使用之前必须初始化初值
int i=10;
System.out.println(i);
//变量类型 变量名字 = new Demo08()
Demo03 demo03 = new Demo03();
System.out.println(demo03.age);
//类变量 static
System.out.println(salary);
常量:可理解为一种特殊的变量,其值 被设定后在程序运行过程中不允许被改变。
// final 变量名=值;
//finial double PI = 3.14; 常量名一般用大写字符
public class Demo04 {
// 前两个为修饰符,不存在先后顺序
static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
5.运算符
public class Demo02 {
public static void main(String[] args) {
long a = 123456788888666666l;
int b = 1234;
short c = 10;
byte d = 8;
// 如果有Long 结果就为 Long 类型;若有double 结果就为 double类型。
//其他默认为 Int类型
System.out.println(a+b+c+d); //Long
System.out.println(b+c+d); //Int
System.out.println(c+d); //Int
// 算术运算符 + - * / %
public class Demo01 {
public static void main(String[] args) {
//ctrl +D :复制当前行到下一行
int a =10;
int b =20;
int c =25;
int e =25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println((double)a/b);
System.out.println(c%b);
// 关系运算符返回的结果:正确、错误 布尔值
System.out.println(a==b);
}
}
//自增自减运算符 ++ --
public class Demo03 {
public static void main(String[] args) {
// ++ -- 自增,自减 一元运算符
int a = 3;
int b = a++; // ++在后面,先赋值(b=3)再自增
int c = ++a; // ++再前面,先自增(a=5)再赋值(c=5)
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
// 逻辑运算符 && || !
public class Demo04 {
public static void main(String[] args) {
// 与(and) 或(or) 非(取反)
boolean a =true;
boolean b = false;
System.out.println("a && b:" + (a&&b));
System.out.println("a || b:" + (a||b));
System.out.println("!(a && b):"+!(a&&b));
//短路运算
int c = 5;
boolean d =(c<4) && (c++ < 4);
System.out.println(d);
System.out.println(c); //输出5 即出现短路
}
}
// 位运算 & | ^(异或) ~ >>(相当于/2) <<(相当于*2) >>>
public class Demo05 {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
————————————————————————————————————————————————
A&B =0000 1100
A|B = 0011 1101
A^B = 0011 0001 异或:两个位置相同就为0 不同就为1
~B = 1111 0010
*/
System.out.println(2<<3);
// 0000 0010 <<3 0001 0000
}
}
public class Demo06 {
public static void main(String[] args) {
int a =10;
int b = 20;
a+=b; //a=a+b
System.out.println(a);
//字符串连接符 + , String
System.out.println(""+a+b); //3020 字符串在前面 后面的则拼接
System.out.println(a+b+"");//50 字符串在后面 前面的会进行运算
}
}
//三元运算符 x ? y : z 如果x==true,则结果为 y,否则为 z
public class Demo07 {
public static void main(String[] args) {
int score = 88;
String type = score < 60 ? "不及格" :"及格";
System.out.println(type);
}
}dao
6.包机制、JavaDoc
-
为了更好地组织类,Java提供了包机制,用来区别类名地命名空间。
-
语法格式为:
package pkg1[.pkg2[.pkg3...]]
-
在Java程序中导入需要的包 使用 "import"语句即可。
import package1[[.package2...].(classname|*)] // import com.yang.base.*; .*即将base包中的所有类都导进去
-
JavaDoc命令用来生成自己的API文档
@author @version @since 指明需要最早使用的JDK版本 @param 参数名 @throws 异常值抛出情况
10万+

被折叠的 条评论
为什么被折叠?



