在Java语言中,注释有以下三种方法:
示例:
/**
* (文档注释)
* @Description HelloWorld
* @Author 惟妙惟霄
*/
public class HelloWorld {
public static void main(String[] args) {
//(单行注释)这个程序的作用是输出Hello, world!
System.out.println("Hello, world!");
/*
(多行注释)
这个程序的作用是输出Hello, world!
*/
}
}
定义:Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
注意:
示例:
public class Demo01 {
public static void main(String[] args) {
String hello = "Hello, world!"; //小写字母开头,正确
String Hello = "Hello, world!"; //大写字母开头,正确
String $Hello = "Hello, world!"; //美元符开头,正确
String _Hello = "Hello, world!"; //下划线开头,正确
String Hello123 = "Hello, world!"; //非开头位置使用数字,正确
//String 123Hello = "Hello, world!"; //数字开头,错误
//String #Hello = "Hello, world!"; //井号开头,错误
//String *Hello = "Hello, world!"; //星号开头,错误
String 道德经 = "道可道,非常道。"; //使用中文,可以通过,但极不推荐
}
}
Java是强类型语言。Java中的数据类型分为两种:
其中,基本数据类型分为以下四种:
而引用数据类型分为以下三种:
示例:
public class Demo02 {
public static void main(String[] args) {
//八大基本数据类型
//整数
int num1 = 10; //最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L; //long类型在数字的最后加大写字母L
//浮点数
float num5 = 3.14159F; //float类型要在数字最后加F
double num6 = 3.14159;
//字符
char a = 'A';
//布尔值
boolean flag1 = true;
boolean flag2 = false;
}
}
其中,整数还可以使用不同的进制来表示:
示例:
public class Demo03 {
public static void main(String[] args) {
int num1 = 10; //十进制
int num2 = 0b10; //二进制以0b开头
int num3 = 010; //八进制以0开头
int num4 = 0x10; //十六进制以0x开头
System.out.println(num1); //输出10
System.out.println(num2); //输出2
System.out.println(num3); //输出8
System.out.println(num4); //输出16
}
}
另外,浮点型因为精度和溢出的问题,尽量不要作为比较对象。
示例:
public class Demo03 {
public static void main(String[] args) {
float f1 = 2313467468515648F;
float f2 = f1 + 1;
System.out.println(f1==f2); //明明f2=f1+1,但仍然输出true,即f1与f2相等
}
}
而字符类型本质仍是整数。
示例:
public class Demo03 {
public static void main(String[] args) {
char c1 = 'a'; //赋值为a
System.out.println(c1); //输出a
System.out.println((int)c1); //输出97
char c2 = '中'; //赋值为中
System.out.println(c2); //输出中
System.out.println((int)c2); //输出20013
char c3 = 97; //直接用整数赋值
System.out.println(c3); //输出a
char c4 = '\u0061'; //转义为unicode编码
System.out.println(c4); //输出a
}
}
由于Java是强类型语言,因而在进行某些整型、浮点型、字符型数据的混合运算中需要进行类型转换。不同类型的数据先转化为同一类型,然后进行运算。
低 ---------------------------------------> 高
byte/short/char —> int —> long—> float —> double
数据类型在进行转换时需注意以下几点:
示例:
public class Demo04 {
public static void main(String[] args) {
//高->低 强制类型转换 (类型)变量名
int num1 = 128;
byte num2 = (byte)num1;
System.out.println(num2); //内存溢出,输出-128
//低->高 自动类型转换
double num3 = num1;
System.out.println(num3); //输出128.0
//精度丢失
float f = 3.5F;
double d = 3.5;
System.out.println((int)f); //输出3
System.out.println((int)d); //输出3
//计算中的类型转型,应先转型,再计算
int money = 10_0000_0000; //整数中可以任意使用下划线分割
int years = 20;
int total1 = money*years;
System.out.println(total1); //输出-1474836480,即结果溢出
long total2 = money*years;
System.out.println(total2); //输出-1474836480,即结果溢出
long total3 = money*((long)years);
System.out.println(total3); //输出20000000000,即结果正确
}
}
在Java语言中,所有的变量在使用前必须声明。声明变量的基本格式如下:
type varname [ = value] [, varname[= value] ...];
//类型 变量名 = 值; 可以使用逗号隔开来同时声明多个同类型变量,但不推荐这么做
注意事项:
示例:
public class Demo05 {
public static void main(String[] args) {
int num = 123;
String name = "惟妙惟霄";
char x = 'X';
double pi = 3.14159;
}
}
Java语言支持的变量类型有:
示例:
public class Demo06 {
//实例变量:从属于对象。可以不进行初始化,会赋默认值。
int a; //整数类型的默认值为0
boolean b; //布尔型的默认值为false
String c; //引用类型的默认值为null
//类变量:从属于类。使用static修饰。可以不进行初始化,会赋默认值。
static int d;
//main方法
public static void main(String[] args) {
//局部变量:必须声明且必须初始化值
int i = 10;
System.out.println(i);
//实例变量
Demo06 demo06 = new Demo06(); //需创建实例
System.out.println(demo06.a); //输出0
System.out.println(demo06.b); //输出false
System.out.println(demo06.c); //输出null
demo06.a = 10;
System.out.println(demo06.a); //输出10
demo06.b = true;
System.out.println(demo06.c); //输出true
demo06.c = "惟妙惟霄";
System.out.println(demo06.c); //输出惟妙惟霄
//类变量
System.out.println(d); //输出0
d = 12;
System.out.println(d); //输出12
}
}
定义:常量是初始化后无法再次改动的值。常量名一般使用大写字符和下划线。其基本的声明格式如下:
final 类型 常量名 = 值;
//例如: final double PI = 3.14;
示例:
public class Demo07 {
//static与final都是修饰符,不存在先后顺序
static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI); //输出3.14
}
}
Java语言支持以下运算符:
示例:
package operator;
public class Demo01 {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 30;
int d = 40;
//二元运算符
System.out.println(a+b); //加法运算,输出30
System.out.println(b-c); //减法运算,输出-10
System.out.println(c*d); //乘法运算,输出1200
System.out.println(a/(double)d); //除法运算,输出0.25
System.out.println(d%c); //取余运算,输出10
//一元运算符
System.out.println(a); //输出10
System.out.println(a++); //输出10。当++在后时,先运算,后自增。
System.out.println(a); //输出11
System.out.println(++a); //输出12。当++在前时,先自增,后运算。
//利用Math类进行运算
double e = Math.pow(2, 3);
System.out.println(e); //输出8,即2的3次方
int f = Math.abs(-5);
System.out.println(f); //输出5,即-5的绝对值
}
}
示例:
package operator;
public class Demo02 {
public static void main(String[] args) {
//关系运算的返回结果是布尔类型,即结果只有true或false
int a = 10;
int b = 20;
System.out.println(a>b); //输出false
System.out.println(a<b); //输出true
System.out.println(a==b); //输出false
System.out.println(a!=b); //输出true
}
}
示例:
package operator;
public class Demo03 {
public static void main(String[] args) {
//逻辑运算符
//与(and) 或(or) 非(not)
boolean a = false;
boolean b = true;
System.out.println(a&&b); //输出false。逻辑与运算:两个都为真,结果才为真。
System.out.println(a||b); //输出true。逻辑或运算:两个有一个为真,结果就为真。
System.out.println(!a); //输出true。逻辑非运算:真变为假,假变为真。
//短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d); //输出false
System.out.println(c); //输出5,说明c++<4并没有被执行,该语句被“短路”了
}
}
示例:
package operator;
public class Demo04 {
public static void main(String[] args) {
//位运算
/*
* 设
* A = 1101 0001
* B = 0110 1000
* 则
* A&B = 0100 0000 按位与运算
* A|B = 1111 1001 按位或运算
* A^B = 1011 1001 按位异或运算,即不相等为1,相等为0
* ~B = 1001 0111 按位取反运算
* */
/*
题目:2*8如何运算才最快?
思路:2*8 = 2*2*2*2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
<<为左移,每次左移等同于数值*2,但效率极高
>>为右移,每次右移等同于数值/2,但效率极高
*/
System.out.println(2<<3); //输出16
}
}
示例:
package operator;
public class Demo05 {
public static void main(String[] args) {
int a = 10;
int b = 10;
a += b; //等同于a = a + b;
System.out.println(a); //输出20
a -= b; //等同于a = a - b;
System.out.println(a); //输出10
a *= b; //等同于a = a * b;
System.out.println(a); //输出100
a /= b; //等同于a = a / b;
System.out.println(a); //输出10
}
}
示例:
package operator;
public class Demo06 {
public static void main(String[] args) {
//条件运算符 a ? b : c
//如果a为true,则执行b,否则执行c
int score = 50;
String mark = score>=60 ? "及格" : "不及格";
System.out.println(mark); //输出"不及格"
}
}
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。