Hello World一个最著名的程序。对每一位程序员来说,这个程序几乎是每一门编程语言中的第一个示例程序。现在我们即将进入Java中的世界,你准备好了吗?
Hello Word
Java 中有两种代码注释方式
第一种是“// 注释…”双斜杠,表示后面的字符串都是注释,
第二种是“/* 注释…*/”,表示中间的内容都是注释。
/*hello world程序*/
public class HelloWorld {
public static void main(String []args) {
//打印Hello World
System.out.println("Hello World");
}
}
基本数据类型
四类八种
1).整型类型
- byte 1字节
- short 2字节
- int 4字节【常用】
- long 8字节
2).浮点类型
- float 4字节(大于long)
- double 8字节【常用】
3).字符型
- char 2字节
4).布尔型
- boolean 1字节或者4字节
Java 还提供了一些封装这些基本数据类型的类,这些类实现了一些常用的功能函数,可以直接拿来使用。
- Integer:对应封装了基本类型 int;
- Long:对应封装了基本类型 long;
- Float:对应封装了基本类型 float;
- Double:对应封装了基本类型 double;
- Boolean:对应封装了基本类型 boolean;
- String:对应封装了字符串类型 char[]。
运算符
数据类型转换
1).什么是“类型转换”:Java中的基本数据类型分为“四类八种”。这八种数据类型在内存中所占用的
字节空间不同的。这八种数据类型(除boolean外)其它七种类型都可以“互相转换”。
2).转换分为两种:
a).自动转换:将“窄类型”转换为“宽类型”。
b).强制转换:将“宽类型”转换为“窄类型”。
算数运算符
1).混合运算:
class Demo {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 30;
System.out.println(a + b * 2 - c / 3);//40(先乘除,后加减)
//可以使用小括号改变运算顺序
System.out.println((a + b) * 2 - c / 3);//50(先算括号内,再算括号外)
}
}
2).整数除0,结果是:运行时异常(很严重)
int a = 10;
System.out.println(a / 0);//运行时异常,程序立即终止
3).小数除0,结果是:Infinity(无穷)不是异常,程序会继续向下走
double a = 10.0;
System.out.println(a / 0);//Infinity
4).整数除法,如果没有整除,结果只取“商”,舍掉“余数”
int a = 10;
System.out.println(a / 4);//2
double b = 10.0;
System.out.println(b / 4);//2.5
5).% : 取余(做除法,取余数)
class Demo {
public static void main(String[] args) {
int a = 10;
System.out.println(a / 3);//取商:3
System.out.println(a % 3);//做除法,取余数:1
}
}
6).++ : 加加。自增1
//作用:将“变量”的值自增1:
int a = 10;
a++;//相当于:a = a + 1;
++a;//作用同上
System.out.println(a);//12
7).-- : 减减。自减1
//作用:将“变量”的值增减1:
int a = 10;
a--;//相当于:a = a - 1;
--a;//作用同上
System.out.println(a);//8
注意:
如果表达式仅仅是自增/自减,前++/–,或者后++/–效果是一样的。
但如果一个表达式做多件事情,前++/–跟后++/–效果有所不同:
int a = 10;
/*
以下表达式就做了两件事:
1).将a自增1;
2).将a的值赋给b。
此时,前++/--和后++/--就会影响b的值;
*/
int b = a++;//b = 10-->先将a的值赋给b,然后a再自增1;
System.out.println(a);//11
System.out.println(b);//10
赋值运算符:
// 1). = : 等于,将右边的值/变量的值,赋给左边的变量;
int a = 10;
int b = a;
// 2).+= : 加等于。
int a = 10;
a += 2;//相当于:a = a + 2;
System.out.println(a);//12
// 3).-= : 减等于:
int a = 10;
a -= 2;//相当于:a = a - 2;
int b = a -= 2 * 3;
System.out.println(a);//8
// 4).*= : 乘等于:
int a = 10;
a *= 2;//a = a * 2;
System.out.println(a);//20
// 5)./= : 除等于:
int a = 10;
a /= 2;//a = a / 2;
System.out.println(a);//5
// 6).%= : 取余等于:
int a = 10;
a %= 2;//a = a % 2;
System.out.println(a);//0
比较运算符:
比较运算符是用来“做比较的”,比较的“结果”是一个boolean值:true/false
/**
1). > :大于
2). < :小于
3). >= : 大于或者等于
4). <= : 小于或者等于
5). == : 判断是否相等
6). != : 判断是否不相等;
*/
class Demo {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 10;
//只能是两个数进行比较。不能三个数以上比较。
System.out.println(a > b);//false
System.out.println(a < b);//true
System.out.println(a >= b);//false
System.out.println(a <= c);//true
System.out.println(a == b);//false
System.out.println(a != c);//false
//除boolean类型,其它7种类型之间都可以互相比较。
double d = 40.0;
System.out.println(a > d);//OK的。
}
}
逻辑运算符:
/**
作用:对“多个比较的结果”再进行比较,还会产生一个boolean类型的结果:
1).&& : 逻辑“与”,语义:并且。两边都为true,结果为:true。
2).|| : 逻辑“或”,语义:或者。两边有一个为true,结果为:true。
3). ! : 逻辑“非”,语义:不是...。!true:false,!false:true
*/
class Demo {
public static void main(String[] args) {
int age = 26;
double height = 1.65;
//写个表达式,表达:要求年龄大于20岁,并且,身高大于1.65
System.out.println(age > 20 && height > 1.65);
//写个表达式,表达:年龄在20到25岁之间
System.out.println(age >= 20 && age <= 25);
//写个表达式,表达:判断年龄是否不在20到25之间
System.out.println(!(age >= 20 && age <= 25));
//写个表达式,表达:判断年龄是否不在20到25之间
System.out.println(age < 20 || age > 25);
}
}
运算符_三元运算符:
/**
1).三元:三目--三个表达式:
格式:结果的数据类型 变量名 = 布尔表达式 ? 结果1:结果2;
说明:
1).布尔表达式:必须产生一个true/false的结果;
2).结果1 : 如果布尔表达式结果为true,取“结果1”赋给变量;
3).结果2 : 如果布尔表达式结果为false,取“结果2"赋给变量;
2).作用:经常用它来判断两个数的最大值;
*/
class Demo {
public static void main(String[] args) {
int s = 89;
//判断:如果颜值高于90,"同意",否则:"不同意"
String str = s >= 89 ? "同意" : "不同意";
System.out.println("根据你的颜值,小女孩的意见是:");
System.out.println( str);
}
}
+=符号
//1.短整型的“变量”和“常量”表达式的区别:
byte a = 10;
byte b = 20;
byte c = a + b;//编译错误--编译时,由于a和b是变量,不确定a和b的值最终是多少,所以只判断类型,a + b是int类型,那结果必须用int类型接受。
byte c = 10 + 20;//OK的--编译时,能确定结果就是:30,编译后:byte c = 30;
//2.短整型的+=的问题:
byte d = 10;
// d = d + 20;//编译错误:d转换为int + 20 ,结果必须是int类型;
d += 20;//OK的:相当于:d = (byte)(d + 20);
System.out.println(c);
+符号_字符串连接
// 1).+符号,对于“数值类型”,做加法运算:
int a = 10;
int b = 20;
System.out.println(a + b);//30
// 2).+符号,对于“字符串类型”也可以使用,做:字符串连接
String str1 = "我爱";
String str2 = "Java";
System.out.println(str1 + str2);//我爱Java
//注意:+符号左右两边,只要有一边是“字符串”,那就是做:字符串连接
String str3 = "你好";
int a = 20;
System.out.println(a + str3);//"20你好"