第一个JAVA程序
public class HelloWorld{
public static void main(String[] args){
System.out.print("hello JAVA");
}
}
class:类(代码的容器)
HelloWorld:类的名字(可自定义)
main:主方法(程序的入口)
System.out.print(""):控制台输出语句
结尾的分号“;”:英文的分号(表示一行代码的结束。)
-
注意:
1、public修饰的类名必须和文件名一样
2、一个源文件可以写多个类,但是public类只能有一个
3、源文件后缀必须是.java
4、java语言对大小写敏感,在源码中,String不能写成string,System不能写成system
5、在Java中只能出现英文符号,不能出现中文符号
6、{}是成对出现的,每行代码结束要加上分号
Java注释
/*
1、单行注释 //单行注释
2、多行注释 /*这是一个多行注释*/
3、文档注释 /** 这是一个文档注释 */
*/
中文字符的编译参数: -encoding utf-8
Java变量的使用
public class test{
public static void main(String[] args){
//三要素---数据类型,变量名,值
//声明
int money; //定义一个整形变量,名字叫money
//赋值
money = 100;
//使用
System.out.println(money);
}
}
1、在cmd窗口使用' javac -encoding utf-8 test.java '即可,这一步称之为“编译”,这时候会生成一个class文件,然后在cmd窗口使用 ' java test ' 即可输出内容100
2、java变量一定要先声明后使用,不然会报错。
-
字面量的分类
整数类型:不能带小数的数字
小数类型:带小数点的数字
字符串类型:用双引号括起来的内容
字符类型:用单引号括起来的,内容只能有一个 'a' '2' '我' 等等
布尔类型:布尔值,表示真假 只有两个值,true,false
空类型:一个特殊的值,空值 值为null
-
变量的规范使用
1、变量必须以字母,数字,下划线,货币符号组成,但不能以数字开头。
2、不能与关键字、保留字重名
-
关键字
1、java中关键字都是小写,在特定的编辑器中颜色直观。
2、比如public、class、void等等
制表符的使用
public class zhi{
public static void main(String[] args){
//制表符的使用
System.out.println("name" + '\t' + "age");//字符串的拼接,把前后拼接起来
System.out.println("ru" + '\t' + "18");
}
}
变量的基本用法
-
变量的基本用法
public class bl{
//主入口
public static void main(String[] args){
//定义变量
//数据类型 变量名 = 数据值
//数据类型:限制了变量能存储数据的类型
//int(整形) string(字符型) double(小数)
//数据值:真正存在变量的数据
//等号:赋值。把右边的数据赋值给左边的变量
int a = 10;
System.out.println(a);//输出10
}
}
先编译后运行
- 变量的基本计算
public class js{
public static void main(String[] args){
//定义两个整形变量,使其相加,得到的和打印出来。
//定义a,b两个变量
int a = 1;
int b = 2;
//输出
System.out.println(a + b);
//打印变量c
int c = 10;
System.out.println(c);
//修改c的值
c = 11;
System.out.println(c);
}
}
- 多变量的使用
//在一条java代码中,可以定义多个变量
int d = 100, e = 200, f = 300;
System.out.println(d);
System.out.println(e);
System.out.println(f);
-
小结
1、变量的练习
计算公交车的人数
public class lx{
public static void main(String[] args){
//一开始车上没有乘客
int count = 0;
//第一站:上去一位乘客
count = count + 1;
//第二站:上去两位乘客,下去一位乘客
count = count + 2 - 1;
//第三站:上去两位乘客,下去一位乘客
count = count + 2 - 1;
//第四站:下去一位乘客
count = count - 1;
//第五站:上去一位乘客
count = count + 1;
//请问:到了终点站,车上还有几位乘客?
System.out.println(count);
}
}
最后的人数就是3。
数据类型
1、基本数据类型
小练习
public class shuju{
public static void main(String[] args){
//byte
byte a = 10;
System.out.println(a);
//short
short b = 20;
System.out.println(b);
//int
int c = 40;
System.out.println(c);
//long
//如果定义long类型变量,要在数据值的后面加上L(大写小写都行)
//建议:用大写,大写较明显。
long d = 123456789L;
//float
//注意点:定义float类型变量的时候,要在数据值的后面加上F(大写小写都行)
float e = 1.11F;
System.out.println(e);
//double
double f = 12.1;
System.out.println(f);
//char
char g = '中';
System.out.println(g);
//boolean
boolean h = true;
System.out.println(h);
}
}
标识符
区分大小写,比如class,正常情况下不能使用,但是如果是Class,就可以使用,因为java区分大小写。
键盘录入
实例:
//1. 导包,找到Scanner这个类在哪
//书写要注意,要写在类定义的上面
import java.util.Scanner;
public class jplr{
public static void main(String[] args){
//2.创建对象,表示我现在准备用Scanner这个类
Scanner sc = new Scanner(System.in);
System.out.println("亲,请输入整数:");
//3.接受数据
//变量i记录了键盘录入的数据
int i = sc.nextInt();
//4.打印变量i
System.out.println("结果是:" + i);
}
}
练习
//调用Scanner
import java.util.Scanner;
public class lx{
public static void main(String[] args){
//创建对象
Scanner sc = new Scanner(System.in);
System.out.println("您希望第一个数字a的值是多少呢?");
//创建对象用来记录数据
int a = sc.nextInt();
System.out.println("那您希望第二个数字b的值是多少嘞?");
int b = sc.nextInt();
//打印出来
System.out.println("ok啊,所以a+b=");
System.out.println(a + b);
}
}
运算符
1、算数运算符
public class yunsuanfu {
public static void main(String[] args){
// 加减乘除
System.out.println(3 + 1);//4
System.out.println(3 * 3);//9
System.out.println(10 / 2);//5
System.out.println(10 % 3);//1
//如果运算中有小数参与
System.out.println(1.1 + 3.1);
System.out.println(1.1 + 3.2);
System.out.println(1.1 + 3.3);
//结论:
//在代码中,如果有小数参与计算,结果有可能不精确。
}
}
/*
加: +
减: -
乘: *
除: /
取余: %
*/
2、类型转换
-
隐式转换
练习
package 类型转换;
public class lxzh {
public static void main(String[] args) {
int a = 10;
byte b = 20;
int c = a + b;
System.out.println(c);
}
}
-
强制转换
练习
package 类型转换;
public class lxzh {
public static void main(String[] args) {
//隐式转换
int a = 10;
byte b = 20;
int c = a + b;
System.out.println(c);
//强制转换
double d = 10.2;
int e = 3;
int f = (int)d -e;
System.out.println(f);
//实例2
byte z = 12;
byte m = 11;
byte n = (byte)(z + m);
System.out.println(n);
}
}
3、字符+操作
在Java字符+的操作中,只要有字符串参与,那么就做拼接操作
package 字符和字符串的加操作;
public class zfc {
public static void main(String[] args) {
//看代码
System.out.println("a" + 1 + 'a');//a1a
System.out.println(1 + 2 + "a" + 1 + 1);//3a11
//字符+字符、字符加数字
System.out.println('a' + 1 + 2);//100 //因为a转换成了ASCII码值了 a=97
System.out.println('a' + 'b' + 'c');//ascii中 a=97 b=98 c=99
System.out.println(97 + 98 + 99);//验证
}
}
小结
4、自增自减运算符
package 自增自减运算符;
public class zz {
public static void main(String[] args){
//++和--
int a = 1;
a++;
System.out.println(a);//2
++a;
System.out.println(a);//3
int b = 1;
b--;
System.out.println(b);//0
--b;
System.out.println(b);//-1
}
}
练习
package 自增自减运算符;
public class zz2 {
public static void main(String[] args){
//定义一个int整形a
int a = 10;
//后++,先用后加
//先把a的值拿出来用,赋值给b,然后自增
//赋值给b的值,是自增前的值
int b = a++;//b=10 a=11
//先++,先加后用
//先把a的值自增,然后吧结果赋值给左边的变量
//把a自增一下到12,然后把a的值赋值给变量c
int c = ++a;
//打印出来
System.out.println(a);//12
System.out.println(b);//10
System.out.println(c);//12
}
}
5、赋值运算符和关系运算符
练习
package 赋值运算符和关系运算符;
import java.util.Scanner;
public class lianxi {
public static void main(String[] args){
/*
需求:
您和您的约会对象在餐厅里面正在约会
键盘录入两个整数,表示你和你约会对象衣服的时度。
(手动录入0~10之间的整数,不能录其他)如果你的时晕程度大于你对象的时晕程度,相亲就成功,输出true。否则输出false。
*/
//1、键盘录入两个整数,表示衣服的时髦度
Scanner sc =new Scanner(System.in);
System.out.println("请输入我们自己衣服的时髦度:");
int boby = sc.nextInt();
System.out.println("请输入约会对象衣服的时髦度:");
int girl = sc.nextInt();
//2、和相亲对象衣服的时髦度进行对比
boolean result = boby > girl;
System.out.println(result);
}
}
6、逻辑运算符
分类
package 逻辑运算符;
public class lj {
public static void main(String[] args){
// & 逻辑且,两边都为真,结果才为真;一个为假,则都是假。
System.out.println(true & false);//
System.out.println(true & true);//true
System.out.println(false & false);//false
// | 逻辑或,两边都为假,结果才是假,有一个为真,都是真.
System.out.println(false | false);//false
System.out.println(false | true);//true
System.out.println(true | true);//true
// ^ 逻辑异或,相同则为false,不同则为true
System.out.println(false ^ false);//false
System.out.println(false ^ true);//true
System.out.println(true ^ true);//false
// ! 逻辑非,取反
// 取反感叹号只能写一次,要么不写,要么写一个
System.out.println(!true);//false
System.out.println(!false);//true
}
}
7、短路逻辑运算符
package 逻辑运算符;
public class dllj {
public static void main(String[] args){
// 1、&& 短路与(且)
//运行结果和单个&一样的
//表示两边都为真,才为真
System.out.println(true && false);// false
System.out.println(true && true);// true
System.out.println(false && false);// false
//2、|| 短路或
//两个为假才是假
System.out.println(false || false);// false
System.out.println(false || true);// true
System.out.println(true || true);// true
}
}
练习
package 逻辑运算符;
public class lx {
public static void main(String[] args){
//练习
int a = 10;
int b = 10;
boolean result = ++a < 5 && ++b < 5;
System.out.println(result); // false
System.out.println(a); // 11
System.out.println(b); // 10
}
}
练习2
package 逻辑运算符;
import java.util.Scanner;
public class lx1 {
public static void main(String[] args){
/*
数字6是一个真正伟大的数字,键盘录入两个整数。
如果其中一个为 6,最终结果输出true。
如果它们的和为 6的倍数。最终结果输出true。
其他情况都是false
* */
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数!");
int number1 = sc.nextInt();
System.out.println("请输入第二个整数!");
int number2 = sc.nextInt();
boolean result = number1 == 6 || number2 == 6 || (number1+number2) % 6 == 0;
System.out.println(result);
}
}
8、三元运算符
package 三元运算符;
import java.util.Scanner;
public class sanyuan {
public static void main(String[] args){
//求两个数的较大值
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数字!");
int number1 = sc.nextInt();
System.out.println("请输入第二个数字!");
int number2 = sc.nextInt();
System.out.println(number1 > number2 ? number1:number2);
}
}
练习1
package 三元运算符;
import java.util.Scanner;
public class lx1 {
public static void main(String[] args){
/*需求:动物园里有两只老虎,
体重分别为通过键盘录入获得请用程序实现判断两只老虎的体重是否相同。*/
Scanner sc = new Scanner(System.in);
//定义两个变量,number1,number2
System.out.println("请输入第一只老虎的体重!");
int number1 = sc.nextInt();
System.out.println("请输入第二只老虎的体重!");
int number2 = sc.nextInt();
String result = number1 == number2 ? "相同":"不同";
System.out.println(result);
}
}
练习2
package 三元运算符;
public class lx2 {
public static void main(String[] args) {
/*需求:一座寺庙里住着三个和尚,
已知他们的身高分别为150cm、210cm、165cm
请用程序实现获取这三个和尚的最高身高*/
//定义三个变量,用来接收和尚的身高值
int pang = 150;//cm
int shou = 210;//cm
int zhong = 165;//cm
//拿着第一个和尚的和第二个和尚的进行进行比较
//再拿着结果和第三个和尚比较
int result = pang > shou ? pang : shou;
int result1 = result > zhong ? result : zhong;
System.out.println(result1);
}
}
9、运算符的优先级
package 运算符的优先级;
public class lx {
public static void main(String[] args){
int a = 1;
int b = 2;
int c = 3;
System.out.println(a+(b*c));//括号的优先级最高
}
}