2024年2月8日发(作者:)
一、java开发环境二、名词解释三、eclipse1.定义四、注释1.解释性文本2.其他注释五、变量4.命名规则六、八种数据基本类型七、数据类型之间的转换1.自动类型转换八、运算符1.算术运算符(2)使用情况分两种:(3)简化版:2.关系运算符九、分支结构结构十、循环结构结构十一、嵌套结构1.定义十二、数组1.定义
2.声明3.初始化十三、方法1.意义2.定义3.调用十四、关键字用法r4.水平制表符 t一、java开发环境编译运行过程(常见面试题)编译期:将.java源文件交给编译器编译成.class字节码文件的过程(2)运行期:把编译后的.class字节码文件经过JVM加载并运行.class字节码文件配置环境变量windows 10系统下配置JDK环境变量:
(1).安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:/java/jdk1.8.0_08;(2).安装完成后,右击“我的电脑”,点击“属性”;(3).选择“高级系统设置”选项卡,选择“高级”栏,点击“环境变量”;(4).在“系统变量”中,设置3项属性,JAVA_HOME PATH CLASSPATH若已存在则点击“编辑”,不存在则点击“新建”;(5).JAVA_HOME指明JDK安装路径,例如刚刚安装时所选择的路径D:/java/jdk1.8.0_08,此路径下包括lib,bin,jre等文件夹;Path使得系统可以在任何路径下识别java命令,设为: %JAVA_HOME%/bin;创建 CLASSPATH变量CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别,设为:.;%JAVA_HOME%/lib
;
(6).“开始”->;“运行”(win10系统下 win+R键
回车),键入“cmd”;(7).键入命令“javac”,“java”,“java -version”几个命令,出现画面,说明环境变量配置成功即环境变量配置成功;java开发环境特点跨平台的:软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行; 面向对象:指以对象为基本粒度,其下包含属性和方法; 安全性:可以分为四个层面,即语言级安全性、编译时安全性、运行时安全性、可执行代码安全性;多线程是指允许一个应用程序同时存在两个或两个以上的线程,用于支持事务并发和多任务处理;一次编程到处使用:Java源代码的书写不拘泥于特定的环境,可以用记事本、文本编辑器等编辑软件来实现,然后将源文件进行编译,编译通过后可直接运行二、名词解释a虚拟机;加载.class字节码文件并运行.class字节码文件JREJava运行环境;包含JVM和运行java所必需的java系统类库JDKJava开发工具包,包含JRE和开发java程序所必须的命令工具说明:运行java程序的最小环境为 JRE开发java程序的最小环境为 JDK三、eclipse1.定义IDE集成开发环境(带图形界面的功能强大的开发工具)优点IBM公司的、开源的、免费的,不需要安装,仅需解压即可开发步骤新建Java项目/工程-------------小区新建Java包--------------------楼+单元新建Java类--------------------房子四、注释1.解释性文本单行注释: //
文字注释
多行注释: /*文字注释......文字注释*/文档注释: /**
文档注释 */2.其他注释其他注释属于后期内容,后期定会填充五、变量1.声明-----------相当于在银行开个账户 int a; //声明一个整型的变量,名为a int b,c,d; //声明三个整型的变量,名为b,c,d2.初始化--------相当于给银行账户存钱 int a = 250; //声明整型变量a并赋值为250 int a; //声明整型变量a a = 250; //给变量a赋值为2503.使用-----------相当于使用银行账户里的钱对变量的使用就是对它所存的那个数的使用
int a = 5;
int b = a+10; //取出a的值5,加10后,再赋值给变量b
n(b); //输出变量b的值15
n("b"); //输出b,双引号中的原样输出
a = a+10; //取出a的值5,加10后,再赋值给a
//在a本身基础之上增10
n(a); //15
//变量在用之前必须声明并初始化
//n(m); //编译错误,变量m未声明
int m;
//n(m); //编译错误,变量m未初始化4.命名规则只能包含字母、数字、_和$符,并且不能以数字开头严格区分大小写不能使用关键字允许中文命名,但不建议,建议"英文的见名知意"、"驼峰命名法"六、八种数据基本类型数据类型占位字节范围1byte81-128~1272short162-32768~327673
char1620~655354int324-2147483648~21474836475double648无限大6float324无限大7long648-9223372~92233728
boolean81True false七、数据类型之间的转换byte short char
通常转换为int计算1.自动类型转换基本数据的自动类型转换只有7种数据类型,除了布尔型基本原则:低级别可以转高级别从左向右可以依次转换:byte-short-int-long-float-double char-int-long-float-double运算时的自动转换条件:两种数据类型要兼容,目标类型大于原类型当范围大的类型与范围小的类型进行运算时,结果会自动转成范围大的类型2.强制类型转换高级别转低级别时必须进行强制类型转换 是否进行强制类型转换取决于数据类型级别的高低,而不取决于数据类型的实际值格式:(type)value, type是要强制类型转换后的数据类型public class mainTest {
public static void main(String[] args) {
int pageSize = 3;
long pageNo = 2;
int num = (int) ((pageNo-1)*pageSize);// 强制类型转换,long类型转换为int类型
n(num);
int test = (int)(pageNo-1)*pageSize;
n(test);
}
}
八、运算符1.算术运算符+ , - , * , / , % , ++ , --(1)使用规则:必须与变量一起使用a++/++a/a--/--a++/--表示变量里的值会自动+1/-1后存入变量里。(2)使用情况分两种:与变量单独使用时(既不与其他任何字符连用)eg:a++当自增/自减表达式参与其他运算时符号在前,变量先自增/自减,然后把新值赋值给表达式。符号在后,先把值赋值给表达式,变量再自增/自减。(3)简化版:符号在前,先运算再赋值。符号在后,先赋值再运算。2.关系运算符> , < , >= , <=
,== , !=
, boolean逻辑运算符&& , || , ! boolean逻辑运算符逻辑功能&(并且)有false则false|(或者)有true则true。!(非)非false则true,非true则false。^(异或)相同为false,不同为true。
&&(短路与)有false则false,若&&左边表达式或者值为false则右边不进行计算||(短路或)有true则true,若||左边表达式或者值为true则右边不进行计算 2.赋值运算符= , += , -= , *= , /= , %=运算符用法举例等效的表达式+=a += ba = a+b-=a -= ba = a-b*=a *= ba = a*b/=a /= ba = a/b%=a %= ba = a%b 3.三目运算符boolean?语句块1:语句块2
执行规则: Boolean值为true
则执行
语句块1;Boolean值为false
则执行
语句块2; 4.字符串连接运算符字符串连接用 +
来实现,“ + ”是算术运算符又是字符串拼接运算符,即
若同时出现则字符串连接前的运算符为算术运算符,字符串连接后的都为字符串连接运算符n(9 + 7 + "may" + 4 + 7);输出结果为
: 16may47九、分支结构结构语句:if(boolean){
语句块
}执行过程:若Boolean值为true,则执行语句块若Boolean值为false,则不执行语句块if...else结构语句: if(boolean){
语句块1
}else{
语句块2
}执行过程:若Boolean值为true,则执行语句块1若Boolean值为false,则执行语句块2
...else if结构语句:if(boolean—1){
语句块1
}elseif(boolean—2){
语句块2
}elseif(boolean—3){
语句块3
}else{
语句块4
}执行过程:判断boolean-1,结果为true则执行语句块1,若执行条件为false则执行boolean-2,结果为true则执行语句块2,若执行条件为false则执行boolean-3,结果为true则执行语句块3,若执行条件为false则执行语句块4 ...case结构优点:效率高、结构清晰缺点:只能对整数来判断、相等break:跳出switchint num = 2;
switch (num){ //byte,short,int,char,
//string(jdk 1.7后可以支持)
case 1://if(num ==1)
n(1);
case 2://以此为入口
n(2);
break;//跳出switch
case 3://以此为入口
n(3);
default://所有case都未匹配时在执行
n(3);
}十、循环结构结构
语句:
while(boolean){
语句块
}
执行过程:
判断boolean的值,若为true则执行语句块;
判断boolean的值,若为true则执行语句块;
判断boolean的值,若为true则执行语句块;
如此反复,直到boolean的值为false时结束do...while结构语句:do{
语句块
}while(boolean)
执行过程:执行语句块,判断boolean的值,若为true则执行语句块;
判断boolean的值,若为true则执行语句块;
判断boolean的值,若为true则执行语句块;
如此反复,直到boolean的值为false时结束 循环结构语句:for(初始条件 1 ; 判断条件 2; 改变条件 3 ){
循环体 4;
}或初始条件1;
for(;判断条件2;){
循环体4
改变条件3;
}执行过程:(1 2 4 3 2 4 3 2)执行初始条件1执行判断条件2
若为true,则执行循环体4,在执行改变条件3;执行判断条件2
若为true,则执行循环体4,在执行改变条件3:......执行判断条件2
若为true,则执行循环体4,在执行改变条件3:执行判断条件2
若为false,则for循环结束for(;;){//没有条件的循环是死循环执行体
} 3.三种结构最佳适用情况先看循环是否与次数相关若与次数相关-------for循环--------------打印机类型若与次数无关,再看要素1与要素3是否相同相同时-----do...while
语句循环-------猜数字游戏不同时-----while语句循环 4.小结:1)顺序结构:从上到下逐行执行,每句必走2)分支结构:有条件的执行某语句一次,并非每句都走3)循环结构:有条件的执行某语句多次,并非每句都走十一、嵌套结构1.定义循环中套循环,
一般多行多列时使用,外层控制行,内层控制列执行规则外层循环走一次,内层循环走所有次 2.建议嵌套层数越少越好,能有一层就不用两层,能用两层就不用三层若业务必须通过三层以上的循环来解决,说明设计有问题十二、数组1.定义数组也是一种数据类型(引用数据类型)数组是相同数据类型元素的集合2.声明int[] arr = new int [10];
//声明整型数组arr,包含10个元素
//每个元素都是int类型,默认值为03.初始化
---初始化数组中的数据int[] arr = new int [4]; //0,0,0,0
int[] arr = {1,4,5,8};//1,4,5,8
int[] arr = new int []{1,4,5,8};//1,4,5,8
int[] arr;
arr = {1,4,5,8};//编译错误,此方式只能声明同时初始化
arr = new []{1,4,5,8};//正确4.访问----访问数组中的数据(1)通过(数组名.length)可以获得数组的长度(元素的个数)int [] arr = new int [5];
n("");(2)通过下标/索引来访问数组中的元素
下表从0开始,最大到(数组长度-1)int[] arr = new int [3];
arr[0] = 100;//给arr第1个元素赋值为100;
arr[1] = 100;//给arr第1个元素赋值为200;
arr[2] = 100;//给arr第3个元素赋值为300;
arr[3] = 400;//运行时,会发生数组下标超出界限(越界)的异常
n ();//输出数组长度
n (arr[-1]);//输出arr中最后一个数组5. 遍历----从头到尾看
int[] arr = new int [10];
for (int i = 0;i <;i++){//遍历数组
arr[i] = 100;//给每个元素都赋值为100
arr[i] = (int)(.()*100)//赋值100内的随机数
System,n(arr[i]);//输出每个元素
}//将arr数组转换为字符串并输出 println(ng(arr));//简便输出基本数组6.复制方式1:(灵活性更好)int[] a ={10,20,30,40,50};
int[] b =new int[6];
opy(a, 1, b, 0, 4);
//opy(src, srcPos, dest, destPos, length);
//a:源数组(src)
//1:源数组的起始下标(srcPos)
//b:目标数组(dest)
//0:目标数组的起始下标(destPos)
//4:要复制的元素个数(length)注意:此方式容易溢出!编译出现错误方式2:(灵活性差)int[] a = {2,5,3,8,6,7};
int[] b = (a, 6);
//int[] b = (original, newLength);
//a:源数组(original)
//b:目标数组
//6:目标数组的长度(元素个数)(newLength)
//--若目标数组长度大于源数组长度,则末尾补默认值0
//--若目标数组长度小于源数组长度,则从末尾截掉
a = (a,+1);//数组扩容7.排序常用的排序方法:冒泡排序、插入排序、快速排序---执行效率不算太高冒泡排序---工作中永远不会写,但是一个常见面试题排序分类:升序(从小到大)/降序(从大到小)(1)(arr);//对arr进行升序排列(2)升序排列:for (int i = 0; i < ; i++) {
(arr);
(arr[i]+"t");
}
降序排列:for(int i=-1;i>=0;i--) {
(arr);
(arr[i]+"t");
}十三、方法
1.意义1)封装一段特定的业务逻辑功能2)方法尽可能独立,一个方法只干一件事3)方法可以被反复调用多次4)减少代码重复,有利于代码的复用;有利于团队的协作2.定义五要素:修饰词
返回值类型
方法名(参数列表){方法体}1)修饰词:public
2)返回值类型:方法可有返回值,也可没有返回值无返回值时:返回值类型写成void有返回值时:返回值类型写成特定的数据类型
返回值有误判断:方法执行完后(1)若还需要用到方法中的某个数据-----有返回值(2)若不再需要用到方法中的某个数据---无返回值3)方法名:见明知义,驼峰命名4)参数列表:方法可有参,也可无参参数:
定义方法时的参数为
形参-----String name/调用方法时的参数为
实参-----int i=3/lisi/12有参数:方法更加灵活无参数:5)方法体:3.调用1)无返回值:方法名(有参传参)
2)有返回值:若有返回值,则在的方法中必须通过return来返回数据并且return后的书必须与返回值类型匹配数据类型
变量 =
方法名(有参传参)十四、关键字用法rScanner接受用户输入的数据1)在package下:import r;2)在main中:Scanner com = new Scanner();3)在第二步之后:int command = t();与continue break:循环中看到break就跳出循环(在某种特殊条件下提前结束循环)当多层嵌套时,只用于跳出一层循环continue:跳过循环体中的剩余语句,进入下一次循环(不能出现在switch语句中)1)return值:(1)结束方法的执行(2)返回结果给调用方--用在有返回值的方法中2)return;
:(1)结束方法的执行(2)在某种特定条件下提前结束方法4.水平制表符 tt
表示制表符,相当于制表符前面的输出内容位数为8的倍数,t将输出8个空格前面的输出内容位数不是8的倍数,t将补足8位
本文发布于:2024-02-08 15:57:43,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170737906367923.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |