1.Java语言的跨平台原理
在需要运行Java应用程序的操作系统上,安装一个与操作系统对应的Java虚拟机即可
2.JRE
是Java程序的运行时环境,包含JVM和运行时所需要的的核心类库
3.JDK
是Java程序开发工具包,包含JRE和开发人员的使用工具
4.JDK的安装目录
| 目录名称 | 说明 |
| bin | 该路径存放了JDK的各种工具命令。javac和java就放在这个目录 |
| conf | 该路径存放了JDK的相关配置文件 |
| include | 该路径存放了一些平台特定的头文件 |
| jmods | 该路径存放了JDK的各种模块 |
| legal | 该路径存放了JDK各模块的授权文档 |
| lib | 该路径存放了JDK工具的一些补充JAR包 |
| 其余文件 | 说明性文档 |
5.为什么要配置Path环境变量
开发Java程序,需要使用JDK提供的开发工具,而这些工具在JDK的安装目录下
为了在开发Java程序的时候,能够方便的使用javac和java这些命令,我们需要配置Path环境变量
6.配置环境变量
点击控制面板
点击系统
点击高级系统设置
点击环境变量
点击新建
输入对应的变量名和变量值
推荐使用 变量名为JAVA_HOME,变量值为你自己JDK的安装目录
7.注释
注释是在程序制定位置添加的说明性信息
注释不参与程序运行,仅起到说明作用
7.1注释的分类
单行注释 格式: //注释信息
多行注释 格式:
文档注释 格式:
8.关键字
就是被Java语言赋予了特定含义的单词
8.1关键字的特点
关键字的字母全是小写
常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观
9.常量
在程序运行过程中,其值不可以发生改变的量
9.1常量的分类
| 常量类型 | 说明 | 举例 |
| 字符串常量 | 用双引号括起来的内容 | "HelloWorld" |
| 整型常量 | 不带小数的数字 | 666 |
| 小数常量 | 带小数的数字 | 13.14 |
| 字符常量 | 用单引号括起来的内容 | 'A' |
| 布尔常量 | 布尔值,表示真假 | 只有两个值:true,false |
| 空常量 | 一个特殊的值,控制 | 值是:null |
注意:空常量不能直接输出,其余的常量可以直接输出
10.数据类型
Java语言是强类型语言,对于咩一种数据都给出了明确的数据类型,不同的数据类型也分配了不同的内存空间,所以它们表示的数据大小也不一样
数据类型=》基本数据类型=》数值型=》整型(byte,short,int,long)
=》浮点型(float,double)
=》字符型(char)
=》非数值型=》布尔型(boolean)
=》引用数据类型=》类(class)
=》接口(interface)
=》数组([])
| 数值类型 | 关键字 | 内存占用 | 取值范围 |
| 整型 | byte | 1 | -128~127 |
| short | 2 | -32768~32767 | |
| int(默认) | 4 | -2的31次方到2的31次方-1 | |
| long | 8 | -2的63次方到2的63次方-1 | |
| 浮点型 | float | 4 | 负数: -3.402823E+38到-1.401298E-45 正数:1.401298E-45到3.402823E+38 |
| double(默认) | 8 | 负数:-1.797693E+308到-4.9000000E-324 正数:4.9000000E-324到1.797693E+308 | |
| 字符型 | char | 2 | 0~65536 |
| 布尔型 | boolean | 1 | true,false |
11.变量
在程序运行中,其值可以发生改变的量
格式: 数据类型 变量名 = 变量值;
int a = 10;
11.1变量的使用
取值和修改值
取值格式: 变量名
a
修改值的格式: 变量名 = 变量值;
a = 20;
11.2变量使用的注意事项
名字不能重复
变量未赋值,不能使用
long类型的变量定义的时候,为了防止整数过大,后面要加L
float类型的变量定义的时候,为了防止类型不兼容,后面要加F
12.标识符
就是给类,方法,变量等起名字的符号
12.1标识符定义规则
有数字、字母、下划线(_)和美元符($)组成
不能以数字开头
不能是关键字
区分大小写
12.2常见命名规定
小驼峰命名法:方法、变量
约定1:标识符是一个单词的时候,首字母小写
name
约定2:标识符由多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写
firstName
大驼峰命名法:类
约定1:标识符是一个单词的时候,首字母大写
Name
约定2:标识符由多个单词组成的时候,每个单词的首字母大写
FirstName
13.类型转换
自动类型转换
强制类型转换
13.1自动类型转换
把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量
数据类型从小到大byte 13.2强制类型转换 把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量 格式: 目标数据类型 变量名 = (目标数据类型)值或者变量; 14.算术运算符 运算符是对常量或者变量进行操作的符号 表达式使用运算符把常量或则变量连接起来符合java语法的式子就可以称为表达式 不同运算符连接的表达式体现的是不同类型的表达式 注意事项 /和%的区别:两个数据做除法,/取结果的商,%取结果的余数 整数操作只能得到整数,要想得到小数,必须有浮点数参与运算 15.字符的+操作 拿字符在计算机底层对应的数值类进行计算的 'A' 65 'a' 97 '0' 48 算数表达式中包含多个基本数据类型的值的时候,整个算数表达式的类型会自动进行提升 提升规则: byte类型,short类型和char类型将会被提升到int类型 整个表达式的类型自动提升到表达式中最高等级操作数同样的类型 等级顺序: byte,short,char =》 int =》 long =》 float =》 double 16.字符串的+操作 当"+"操作中出现字符串时,这个"+"是字符串连接符,而不是算数运算符 当"+"操作中,如果出现了字符串,就是连接运算符,否则就是算数运算。当连续进行"+"操作时,从左到右逐个执行 17.赋值运算符 注意事项:扩展的赋值运算符隐含了强制类型转换 18.自增自减运算符 注意事项 ++和--既可以放在变量的后边,也可以放在变量的前边 单独使用的时候,++和--无论是放在变量的前边还是后边,结果都是一样的 参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者-- 参与操作的时候,如果放在变量的前边,先拿变量做++或--,后拿变量参与操作 最常见的用法:单独使用 19.关系运算符 a==b,判断a和b的值是否相等,成立为true,不成立为false 注意事项 关系运算符的结果都是boolean类型,要么是true,要么是false 千万不要把"=="误写成"=" 20.逻辑运算符 是用来链接关系表达式的运算符 当然,逻辑运算符也可以直接连接布尔类型的常量或者变量 a&b,a和b都是true,结果为true,否则为false 20.1短路逻辑运算符 注意事项 逻辑与&,无论左边真假,右边都要执行 短路与&&,如果左边为真,右边直行;如果左边为假,右边不执行 逻辑或|,无论左边真假,右边都要执行 短路或||,如果左边为假,右边执行;如果左边为真,右边不执行 最常用的逻辑运算符:&&,||,! 21.三元运算符 格式: 关系表达式 ? 表达式1 : 表达式2; 计算规则 首先计算关系表达式的值 如果值为true,表达式1的值就是运算结果 如果值为false,表达式2的值就是运算结果 22.数据输入 Scanner使用的基本步骤 第一步:导包 导包的动作必须出现在类的定义上边 第二步:创建对象 上面这个格式里面,只有sc是变量名,可以变,其他的都不允许变 第三步:接受数据 上面这个格式里面,只有i是变量名,可以变,其他的都不允许变int k = (int)88.88;
符号 作用 说明 + 加 - 减 * 乘 / 除 % 取余 获取的是两个数据做除法的余数 System.out.println("HelloWorld"+666);//HelloWord666
System.out.println(1+99+"岁");//100岁
符号 作用 说明 = 赋值 a=10,将10赋值给变量a += 加后赋值 a+=b,将a+b的值给a -= 减后赋值 a-=b,将a-b的值给a *= 乘后赋值 a*=b,将a×b的值给a /= 除后赋值 a/=b,将a÷b的值给a %= 取余后赋值 a%=b,将a÷b的余数给a 符号 作用 说明 ++ 自增 变量的值加1 -- 自减 变量的值减1 符号 说明 == != a!=b,判断a和b的值是否不相等,成立为true,不成立为false > a>b,判断a是否大于b,成立为true,不成立为false >= a>=b,判断a是否大于等于b,成立为true,不成立为false < a <= a<=b,判断a是否小于等于b,成立为true,不成立为false 符号 作用 说明 & 逻辑与 | 逻辑或 a|b,a和b都是false,结果为false,否则为true ^ 逻辑异或 a^b,a和b的结果不同为true,相同为false ! 逻辑非 !a,结果和a的结果正好相反 符号 作用 说明 && 短路与 作用和&相同,但是有短路效果 || 短路或 作用和|相同,但是有短路效果 a > b ? a : b;
import java.util.Scanner;
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();



