java的底层是c++写的
java跨平台:java编写的跨平台在mac,windows,linux都可以运行
java依靠jvm实现跨平台,每个系统有自己版本的jvm
JRE与JDK区别
JRE:是java程序的运行时环境,包含JVM和运行时间所需的核心类库;
JDK:是Java程序开发工具包,包含JRE和开发人员使用的工具;
我们想要运行一个已有的Java程序,只需要安装JRE即可
我们想要开发一个全新的Java程序,那么必须安装JDK;
javac 文件:产生class文件,Javac hellowworld(无后缀)
javac -encoding utf-8 java文件
注解
//单行注解
/*多行注解 */
/**
文档注解
*/
关键字
java语言赋予特定含义的意思
什么是常量
常量类型 | 说明 | 举例 |
---|---|---|
字符串常量 | 用双引号括起来的内容 | “fahfi” |
整数常量 | 不带小数点的数字 | 78476187 |
小数常量 | 带小数的常量 | 5234615.381 |
字符常量 | 用单引号括起来的 | ‘男’,’女’ |
布尔值常量 | 布尔值表示真假 | true,false |
空常量 | 一个特殊的值,空值 | null |
数据类型
1个字节8个位,64位,cpu一次性处理的位
java语言基本数据类型
java是强类型语言,对每一个数据都必须给出明确的数据类型,不同的数据类型分配不同的内存空间,所以他们表示的数据大小也不一样
整数
byte:1个字节
short:2
int:4
long:8
字符
char:2
浮点型
float:4
double(浮点默认):8
布尔型
boolean:1
定义long,需要在后面加L
定义float,需要加F
变量概述
变量:程序在运行中,他的值可以变化,变量存放在内存中
变量数据类型 变量名=赋值
变量容易出现的错误
不能定义相同变量名称
变量没有初始化
标识符
标识符:就是给类、方法、变量等起名子的符号。
标识符硬性要求:
标识符可以包含英文字母26个(区分大小写)、0-9数字、$和下划线
标识符不能数字开头
标识符不能是关键字
类名规范:首字母大写,后面每个单词首字母大写(大驼峰)
方法名规范:首字母小写,后买你每个单词首字母大写(小驼峰)
类型转换
自动类型转换:把一个表示数据范围小的数值或者变量赋值给另一个数据范围大的变量,例如:double a=10
小到大,自动转换(平级也不行)
强制类型转换:
把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量
xxxxxxxxxx package NeiBuLei;/** * /public class Test { public static void main(String[] args) { sun(); System.out.println(“我被执行了”);//我被执行了 说明 / * 执行结果 * 6 * 我被执行了 / } public static void sun(){ int a=6; switch (a){ case 1: System.out.println(“1”); break; case 3: System.out.println(“3”); case 6: System.out.println(“6”); return; /* * return:结束本方法,执行该语句后跳到方法调用处,后面的语句都不会继续执行 */ case 7: System.out.println(“7”); break; default: System.out.println(“dd”); break; } }}java
数据类型 变量名=(目标数据类型)值或者变量
例子:int j=(int) 99.99
不推荐使用,丢失数据
算数运算符
char+char=书数值(根据Ascall)
char a='a';//97
char b='c';//99
System.out.println(a+b);
//结果
196
字符的+
char+int=int
算术表达式包含多个数据类型时,整个算术表达式的类型会自动继续宁提升规则
往大的靠
byte,short,char->int->long->float->double
字符串的+(字符串连接符)
“abc”+”bcd”=”abcbcd”
只要+两边有一个hi字符串,就是字符串连接符
自增自减运算符
++:变量值+1
–:变量值-1
++i和i++
int i=10;
int j=i++;//先赋值给j,在++
sout(j)
j=10
int j=++i;//先++再赋值
j=11
练习题:
int x=10;
int y=x++ + x++ + x++;
sout(y)
y=32:原因
第一个i++
int y=10+i++ + i++
i=11
第二个i++
int y=10+11+ i++
i=12
int y=10+11+12
i=13
y=33
逻辑运算符
符号 | 说明 | 举例 |
---|---|---|
& | 逻辑与 | a&b,a和b都是true,结果为true,否则为false |
| | 逻辑或 | a|b,a和b都是false,结果为false,否则为true |
^ | 逻辑异或 | a^b,a和b结果不同为true,相同为false |
! | 逻辑非 | !a,结果和a的结果正好相反 |
短路逻辑运算符(提高效率)
符号 | 说明 | 举例 |
---|---|---|
&& | 短路与 | 作用和&相同,但是有短路效果 |
|| | 短路或 | 作用和|相同,但是有短路效果 |
&:无论左边真假,右边都执行
&&,左边为真,右边执行,左边为假,右边不执行
|:无论左边真假,右边都执行
||:如果左边为假,右边执行,如果左边为真,右边不执行
Scanner
Scanner sc=new Scanner(System.in);
int i=sc.nextInt();
流程控制语句分类
【1】顺序结构
按照代码先后顺序,依次进行,程序大多数都是这样执行
【2】分支结构(if,Switch)
if(关系表达式){
语句体;
}
if(关系表达式){
}else{
}
if(条件1){
语句1;
}else if(条件2){
语句2;
}else{
}
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句2;
break;
default:
语句体;
break;
}
当有return时,不用写break
【3】循环结构(for,while,do…while)
for
while
do{
循环体语句;
条件控制语句;
}while();
while和do{ }while的区别
无论条件是否为true,都会执行一次循环体语句
死循环
for(;
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/278329.html