JAVA基础语法
- 一 jrejdk安装要求
- 二java环境变量的设置和程序的运行
- 三java运行
- 四变量存在的意义
- 五变量的类型
- 六变量的强制类型转换
- 七简单运算符
- 八与运算 或运算
- 九语句结构
- 十快捷键
- 十一 思维导图软件
一、 jre,jdk安装要求:
1 安装路劲中不能有空格
2 路劲不能出现中文
3 不要安装在C盘
二、java环境变量的设置和程序的运行
当出现错误提示:javac不是内部或外部命令,也不是可运行的程序。或批处理文件时
说明: 当前目录中没有javac
解决: 计算机而言,都有一个环境变量,环境变量中会设置系统属性,从而可以再任意目录访问,如ping命令。
环境变量中会设置一些系统属性,会把我们常用的命令提示符的操作通过系统属性的PATH设置进去
环境变量设置: 在坏境变量的PATH中添加bin目录
path=E:\Software\JDK\zulu-jdk8.0.72-win_x64\bin
注意:用封号分隔。如果忘记,参考path中的其他写法
三、java运行
1, java源文件首先编译成.class文件,.class文件是在java的虚拟机上执行的
二进制文件是可运行的文件
所有的开发语言,只要是编译形的开发语言,都会有源文件(如xxx.java),都会由源文件编译成可运行的文件(如xxx.class),
然后由可运行的文件来执行
2. binary(bin) 二进制意思,可执行的文件
java compare(javac.exe) 编译。作用:编译源文件,借助命令提示符编译
java.exe运行,执行。运行可运行文件,cpu就是读这样的二进制来完成程序
3. 源文件:给人看的
二进制文件给计算机看的
计算机运行二进制文件后的结果是我们想要的结果
计算机能识别的编码是二进制编码(数字转二进制)存在的意义
四、变量存在的意义
1 . 变量的含义类似数学:
1+1=?
1+2=?
1+3=?
1+4=?
以上数学题压缩为:当x=1…4时,求1+x=?
思路:把可能会变得变量x拿出来定义,使用时引用此变量x
2. 变量存在的意义:使代码更加灵活
3. 技巧:
把尽可能会发生变化的东西拿出来定义为变量,只要有一个值在两个地方做引用,就拿出来定义为变量
五、变量的类型
变量的定义:
变量类型 变量名称 = 变量的值
变量的类型:
基本数据类型:4类8种
整型:
byte(1),short(2),int(4),long(8)——>默认类型(int)
定义:long long num = 12L;
布尔类型:
(boolean)boolean的值:true,false
浮点类型(小数类型):
float(4),double(8)——>默认类型(double)
定义float: float num = 12.1F;
字符类型:
字符类型不是字符串,使用的是单引号进行定义,而且只能有一个字符
char c = ‘c’;- 现在的编码统一用的是Unicode(2个字节)
六、变量的强制类型转换
1 当大类型和小类型的值进行运算,小类型的值会自动转换为大类型的值
Int a = 10, double b =20.7, a + b –>double
2 要把一个大类型的值存储到小类型中,需要强制转换,如果不转化,会编译出错
强制类型转换方式:(int)12.5 —> 把12.5这个double类型强制转换为int类型
3 当char byte short进行运算时会自动转换为Int类型
例如:
byte b1=12;
byte b2=11;
byte b3 = (byte)(b1+b2);// 运算时会转换成int型,所以需要强制转换为byte
所有的char只要在运算的时候都会转换为int类型,怎么转成int呢?
解答:进行运算后的值是ASCII码(int类型的), char类型会转换为这个int的ASCII码。
例如:通过两种方法来获取(中国)这个字的unicode
方法一:
char c1 = '中';
char c2 = '国';
int num1 = c1 +1-1; //char类型运算后的值是int类型,如果想要返回char类型,需要强制类型转换,如 char c = (char)(c1 +1-1);System.out.println(c);此时输出的c就是字符中
int num2 = c2 +1-1;
System.out.println(num1);
System.out.println(num2);
输出结果:
20013
22269
方法二:
char c1 = '中';
char c2 = '国';
int num = c1+c2; //当char byte short进行运算时会自动转换为Int类型
System.out.println(num);
输出结果:42282
注意:char在运算的时候会转换为int整型数字。
4 变量的作用域:
花括号内有效,在同一个作用域中不能重复定义变量
5 定义变量的规定:
关键字不能用来定义
对于类而言,定义的名称的第一个字母用大写,之后遵循驼峰标识
对于函数(如main函数),对于普通变量,第一个字母用小写,之后遵循驼峰标识
6 目前看来String比以上所有类型都要大,意味着任何类型与String类型相加都会转换为String类型。
这就是为什么与String类型相加会转换为String类型
这就是说String类型的不是只有文字组成,可以是数字组成,如String str = “11”;
七、简单运算符
1.算数运算符:+、-、*、/、%
2.逻辑运算符:< 、> 、<= 、>=、 == 、!=
逻辑运算符的值是boolean类型的,true、false
如:12>10 -->true
3 自增和自减
自增:前自增和后自增
例如:int a = 10;
//a++;-->11
++a;-->11
即a++与++a都等于a = a + 1
两者的区别:int c = a++//先赋值后自加
int c = ++a//先自加后赋值
八、与运算 或运算
与&:1&1=1
1&0=0
0&1=0
0&0=0
或|:0|0=0
1|1=1
1|0=1
0|1=1
短路与&&:当第一个条件能够确定这个表达式的值的时候,不会再去判断或执行第二个表达式.这就叫短路。前面的路不能走,后边有路也不走
例如:TestOperator3.Java
if((a++>10)&&(b-->10)){} 第一个条件表达式是false,能确定这个表达式的值,所以不会再判断第二个表达式的值
短路或||:当第一个条件能够确定这个表达式的值的时候,不会再去判断或执行第二个表达式.这就叫短路。当第一个表达式不成功时,才会执行第二个表达式。
if((--b<11)||(a++>10)){} 第一个条件的值为true,这个确定这个表达式的值,所以不会再执行判断第二个条件表达式
九、语句结构
1 顺序结构
顺序结构就是按着顺序来执行。例如:
public class TestVar {
public static void main(String[] args) {
int i = 0,j = 0; //可以在一行中声明多个变量
System.out.println(i+" "+j);//当没定义int i = 0,j = 0时,java编译器报错,报没有初始化变量
i = 1;
j = 2;
System.out.println(i+" "+j);
}
}
输出结果:
0 0 //输出的是 0 0,而非1 2,说明是按顺序执行的。
1 2
2 选择结构:
if(条件){ 条件满足,执行代码 }else if(条件){ 如果这个条件满足,执行这段代码 }else{ 以上条件都不满足,执行这段代码 }
注意:else if 已经把前面的if排除了
如果if满足,则只是仅仅执行if语句,不会在执行else if后面的语句
3 分支结构(可以通过选择结构来实现)
switch(整型){ //swich(整型)必须是整型,不能是小数或者字符串等等值
case值1:xxx; //case后面直接就是值,不能是逻辑表达式,如:case a<10不能是这种表达式
break; //条件满足后,跳出switch
case值2:yyy;
break;
default:zzz;
break;
}
注意:
switch(x)中 x可以是char类型,因为char类型在运行的时候就是一个整形
当不加break时,前面的case满足,不仅执行此case语句,还会在不判断的情况下执行后面的语句。如case1,case2,case3,default。当case2满足条件时,不会输出case1,因为case1不满足条件,但是会输出case2,case3,default。因为case2满足条件,但是因为没加break,所以后面的case,default都会默认并且不判断都执行。如TestSwitch.java示例
4.循坏结构
while循坏
while(条件){}
for循坏
for(只会执行一次;循坏条件;循坏语句执行完成之后执行){ 满足条件的循坏语句; }
注意:
continue,break的含义
continue是终止此次循坏,跳回条件的判断位置
break是终止整个循坏。
十、快捷键
- Tab是向后缩进一格,Shift+Tab是向前缩进一格
- windows的命令提示符中查看目录命令:dir
- cd hello (cd 进入hello文件夹),cd \ 表示回到根目录
- . 表示当前文件夹 .. 表示返回上级目录
- e: 切换到e盘
十一、 思维导图软件:
Mindjet MindManager
还没有评论,来说两句吧...