Day 1 7月15日
初识Java
安装好Jdk环境后,就要正式开始Java的学习了
一.Java的程序结构
public class HelloWord {
/*
*public:公开的
*class:用于修饰一个类,类名叫:HelloWord
**/
//psvm
public static void main(String[] args) {
//sout //输出语句,在控制台中显示我们想展示的内容
//println: 换行显示 print: 不换行显示
System.out.println("Hello Word!");
}
}
(1).类名与文件名完全一样,首字母要求大写
(2).main()程序入口,四要素必不可缺
(3).System.out.println(); 从控制台输出信息,S大写
(4).{和}一一对应,缺一不可
转义符:\t 空格 \n 强行换行
二.常量 在程序运行中不能改变的变量称为常量
(1).常量名通常大写
(2).不同字符使用下划线隔开
(3).只能被赋值一次,通常定义时即对其初始化
public class DemoC{
public static void main(String[] args){
//通过final关键字修饰变量为常量
final double PI = 3.1415926;
System.out.println(PI);
}
}
三.变量
变量:是一个存储空间的表示
不同数据存入具有不同内存地址的空间,相互独立
变量的命名规则:
(1)字母,数字,下划线,$符号组成/不能以数字开头
(2)不能使用关键字,如public,class
整形 int....
数值 浮点型 double float....
数据类型
非数值 char(保存单个字符,赋值时以''表述),String,boolean(只能存储true/false)..........
String不是基本数据类型,是引用数据类型,它是java提供的一个类
变量的声明及使用
(1)声明变量,根据数据类型在内存申请空间
数据类型 变量名; int money;
(2)赋值,即“将数据存储至对应的内存空间”
变量名 = 赋值; money = 1000;
((1)和(2)可以合并,即 int money = 1000;)
(3)使用变量,即“取出数据使用”
四.Scanner的使用
(1).导入Scanner类
improt java.util.*;
(2).创建Scanner对象
Scanner input = new Scanner(System.in);
(3).获得键盘输入的数据
int now = input nextInt();
//导入包
import java.util.Scanner;
public class DemoD{
public static void main(String[] args){
//通过Scanner 类创建(new)了对象(input)
Scanner input = new Scanner(System.in);
System.out.println("请输入四位会员卡号:");
//通过input对象 的方法(.nextInt),获取用于在控制台输入的值(类型 int double String)
int num = input.nextInt();
// "." 操作符 通过input对象的操作符,执行了nextInt的方法
System.out.println(num);
}
}
五.类型转换
自动类型转换
强制类型转换
int /double 与String类型的表达式运算
String num4= "56";
System.out.println(Integer.parseInt(num4)+2);
通过Integer的parseInt(String的值) 将一个String类型的值转换成int类型的值
自动类型转换规则:
(1)如果一个操作数为double类型,则整个表达式可提升为double类型
(2)满足自动转换类型的条件
两种类型要兼容
数值类型(整形和浮点型)互相兼容
目标类型大于源类型:
例如:double类型大于int类型
强制类型转换规则
两种类型要兼容
int b = (int)10.2;
double a = 10;
int c =(int)a;
六.运算符
"=" 赋值运算符 "." 操作符 "+" 连接符/算术运算符
借助变量以及赋值运算符实现两个数据的交换
int num1 = 8;
int num2 = 9;
int tmp =num1;
num1 = num2;
num2 = tmp;
(1)基本的算术运算符
+,-,*,/,%,++,--
(2)一元运算符: ++,-- 一元运算符可单独占据一行
num1++; ++在后,先用再加
++num1; ++在前,先加再用
(3)复合运算符
+=,-=,*=,/=,%= (累加,累减......)
(4)关系运算符
== 等于 !=不等于 > < >= <=
=为赋值运算符,==为等于运算符
关系表达式的结果为布尔值
> < >= <=运算符的优先级高于= !=
> < >= <=运算符只支持数值类型的数据比较
(5)逻辑运算符
& | ^ ! && ||
-
注意事项
- 1、& 与 &&以及|与||的区别:
- &:左边无论真假,右边都会进行运算;
- &&:如果左边为假,则右边不进行运算;
- | 与 || 的区别同上;在使用的时候建议使用&&和||;
- 2、(^)与或(|)的不同之处是:当左右都为true时,结果为false。
(6)运算符的优先级
级别1为最高,级别11为最低
优先级记忆方法:单目乘除为关系,逻辑三目后赋值。
单目运算符:一次作用一个变量的运算符,又叫一元运算符
单目:单目运算符+ –(正负数) ,++ –,!(逻辑非),~(按位取反)
乘除:算数运算符:* / % + - (* / %优先级肯定是大于+-的)
为:位运算符:~(按位取反)<<(左移) >>(右移),^(也可以位运算,二进制异或)
关系:关系运算符:> < >= <= == !=
逻辑:逻辑运算符(除!)&& || & | ^
三目:条件运算符A > B ? X : Y
后:无意义,仅仅为了凑字数
赋值:= += -= *= /= %= |= &= ^=
说明:前优先级大于后,比如单目运算符~也是位运算符,~的优先级是单目级别的。
算术运算符 >关系运算符 >逻辑运算符
七.流程控制
if
语法: * (1) if(boolean(true / false)){ * true * 执行业务逻辑 * } * * (2) if(boolean(true / false)){ * true * 执行业务逻辑 * }else{ * false * 执行业务逻辑 * } * * (3) if(boolean(true / false)){ * true * 执行业务逻辑 结束if块 * } * if(boolean(true / false)){ * true * 执行业务逻辑 结束if块 * } * if(boolean(true / false)){ * true * 执行业务逻辑 结束if块 * } * if(boolean(true / false)){ * true * 执行业务逻辑 结束if块 * }..... * }else{ * false * 执行业务逻辑 结束if块 * } * * * if与if之间可以相互嵌套