房上的猫:java基础知识部分知识点
1.Java常见的注释有哪些,语法是怎样的?
1)单行注释用//表示,编译器看到//会忽略该行//后的所文本
2)多行注释/* */表示,编译器看到/*时会搜索接下来的*/,忽略掉/* */之间的文本。
3)文档注释用/** */表示,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。
1)单行注释。 // 注释的内容 2)多行注释。 /* 注释的内容 */ 3)文档注释。 /** 注释的内容 */
2.java常见的运算符都有哪些?
1)算术运算符:+,—,*,/,%,++,--
2)关系运算符:等于(==)、不等于(!=)、大于(>)、大于等于(>=)、小于(<)、小于等于(<=)
3)逻辑运算符:逻辑与(&&)、逻辑或(||)、逻辑非(!)
3.java的基本数据类型有哪些?
byte | 整形 |
short | 短整形 |
int | 整数类型 |
long | 长整型 |
boolean | 布尔类型 |
char | 字符型(单个字符) |
float | 单精度浮点型 |
double | 双精度浮点型 |
4 请写3种if选择结构的语法与执行流程
一.基本if结构:
if(判断条件){ //代码块1 }else{ //代码块2 } //先判断if( )中的条件如果为true就执行代码块1,如果为false则执行else内的代码块2
三.多重:
if(判断条件1){ //代码块1 }else if(判断条件2){ //代码块2 }else{ //代码块3 } /*1)先判断if( )中的条件如果为true就执行代码块1 2)如果不满足就继续执行else-if继续判断如果为true就执行代码块2 3)如果判断条件1与判断条件2都为false则执行代码块3*/
四.嵌套:
if(判断条件1){ //代码块1 if(判断条件2){ //代码块2 }else{ //代码块3 } }else{ //代码块4 } /*1)先判断最外层if中的判断条件1如果为true就执行代码块1, 2)然后判断里面的if中的判断条件2如果为true就执行代码块2如果为false就执行代码块3 3)如果最外层的if中的判断条件1为true直接执行代码块4*/
5.请写出switch选择结构的语法,以及执行流程
switch(表达式){ case 常量1: //代码块1; break; case 常量2: //代码块2; break; ...... default: //代码块n; break; }
1)先计算并获得switch后面小括号里的表达式或变量的值,然后将计算结果顺序与每个case后的常量比较,当二者相等时,执行这个case块中的代码
2)当遇到break时,就跳出switch选择结构,执行switch选择之后的代码
3)如果没有任何一个case后的常量与switch后小括号中的值相等,则执行switch末尾部分的default块中的代码
6.请写出while do-while语法及特点
1)语法:
while(循环条件){ //循环操作 }
do{ //循环操作 }while(循环条件);
2)特点:
while循环结构特点:
先判断,后执行
while循环结构如果第一次判断循环条件不满足,则会直接跳出循环,循环操作一遍都不会执行
do-while循环结构特点:
先执行,再判断
do-while循环结构,循环操作至少执行一遍
7.请写出for循环的语法,以及执行流程
语法:
for(表达式1;表达式2;表达式3){ //循环体 }
执行流程:
(1)执行初始判断
(2)进行循环条件判断
(3)根据循环条件判断结果
>如果为true,则执行循环体
>如果为false,则退出循环
(4)执行迭代部分,改变循环变量值
(5)依次重复"条件判断-->循环操作-->改变变量值-->条件判断......",直到退出for循环结构
8.请写出数组的基本语法,以及基本要素
语法:
1)数据类型[] 数组名 = new 数据类型[数组长度] 2)数据类型[] 数组名 = new 数据类型[]{值1,值2,...值n};
基本要素:
(1)标识符:
和变量一样,在计算机中,数组也要有一个名称,称为标识符,用于区分不同的数组
(2)数组元素:
当给出数组名称,即数组标识符后,要向数组中存放数据,这些数据就称为数组元素
(3)数组下标:
在数组中为了正确地得到数组的元素,需要对它们进行编号,这样计算机才能去存取,这个编号就称为数组下标
(4)元素类型:
存储在数组中的数组元素应该是同一数据类型
9.如何对数组进行升序降序
方法一:
1)使用Arrays.sort(数组名);进行数组升排序
2)利用语法升序排序后,倒着输出,则是降序
方法二:
利用循环对数组的每一个元素进行比较,较大的值往后移,依次比较并后移,进行升序排序。降序排序反之
10.如何求数组的最大值和最小值?请写出思路。
1)定义一个变量,初始化为数组中的任意一个元素即可
2)通过循环结构内的判断语句用数组内的每一个元素与之前定义的变量进行比较,如果数组中的某个元素比变量中的大,就将该值赋给变量,求出最大值,最小值反之
11.如何想数组插曲元素?请写出思路
1)定义一个长度为原数组长度+1的数组
2)将原数组的值赋值给新数组
3)找到新数组的插入位置
4)利用循环结构使元素后移(倒着移,将前一位赋值给后一位,一直到将要插入的位置)空出要插入的位置
5)给要插入的位置(已空出)赋值
12.双重for循环的语法,以及其特点
语法:
for(表达式1;表达式2;表达式3){ //结构体 for(表达式1;表达式2;表达式3){ //结构体 } }
//特点:外部循环执行一次,内部循环执行一圈
13.break和continue分别有什么用途。
1)break //强制结束本层循环,不影响外层循环 2)continue //提前结束本次循环,继续执行下一次循环,不影响循环次数
14.请写出类和对象的关系
类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类。类描述了一组有相同特性( 属性 ) 和相同行为 ( 方法 ) 的对象。
15.请写出成员变量和局部变量的区别。
1)在类中位置不同:成员变量:在类中方法外。局部变量:在方法定义中或者方法声明上。
2)在内存中的位置不同:成员变量:在堆内存。 局部变量:在栈内存。
3)生命周期不同:成员变量:随着对象的创建而存在,随着对象的消失而消失。 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失。
4)初始化值不同:成员变量:有默认值初始化。局部变量:没有默认值初始化,必须定义,赋值,然后才能使用。
※局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。
16.如何定义类的属性和方法?如何使用类的属性和方法
定义:
属性:
1)数据结构 数据名 ;
2)数据结构 数据名 = 值;
方法:
访问修饰符 返回值 方法名(){ //结构体 }
实例:
/** * 这是Manager类 */ public class Manager { String username="张三";//定义Manager类的一个属性 String password=0000; //定义定义Manager类的一个属性 public String toString(){//类中一个方法 //结构体 return "管理员信息是:"+username+"\t"+password;//用到Manager类的username属性 } }
使用:
1)定义类:使用关键字class
2)创建类的对象:使用关键字new
3)使用类的属性和方法:使用"."操作符
17.return 的用途有哪些?return的常用作用有以下两种
一种是返回参数所用的关键字,假如一个有返回值的方法执行完了之后需要返回一个参数,
示例:
public string functionTest(){ String a = "abc"; return a; } // 那么这个方法被调用之后就会返回一个值为abc的字符串,string result = functionTest();
第二种用法是,代码执行到此处终止。
比如当代码执行到某个地方会出现几种结果,然后其中一种结果就不能执行后续代码,这时候在那里加上一个return就可以终止后面的代码执行。
18.请你描述出面向对象编程的思想?
1)面向对象是一种新兴的程序设计方法,或者说它是一种新的程序设计范型,其基本思想是使用对象,类,继承,封装,消息等基本概念来进行程序设计。
2)它是从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统)。这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。
3)面向对象是一种思想,是我们考虑事情的方法,通常表现为我们是将问题的解决按照过程方式来解决呢,还是将问题抽象为一个对象来解决它。很多情况下,我们会不知不觉的按照过程方式来解决它,而不是考虑将要解决问题抽象为对象去解决它。
19.当调用类的带参方法时应该注意哪些问题?
1)调用带参方法与调用无参方法的语法相同,但在调用带参方法时必须传入实际的参数的值。
2)定义方法和调用方法时把参数分别称为形式参数和实际参数(形参和实参)。
3)形参的目的是定义方法需要传入的参数个数和类型。实参是传递给方法处理的实际的值。
4)需要注意要先实例化对象,再调用方法;实参的类型,数量,顺序都要与形参一一对应。
20.请你写出String字符串的方法,以及其用途?
length() |
字符串的长度 |
charAt() |
截取一个字符 |
equals()和== |
equals()方法比较字符串对象中的字符 ==运算符比较两个对象是否引用同一实例。 |
indexOf()和lastIndexOf() | indexOf() 查找字符或者子串第一次出现的地方。 lastIndexOf() 查找字符或者子串是后一次出现的地方 |
substring() | 它有两种形式 第一种是:String substring(int startIndex)提取startIndex下标以后的字符 第二种是:String substring(int startIndex,int endIndex)提取startIndex下标到endIndex下标的字符(startIndex下标从0开始,endIndex下标从1开始); |
concat() |
连接两个字符串 |
trim() |
去掉起始和结尾的空格 |
toLowerCase() | 转换为小写 |
compareToIgnoreCase() | 比较字符串(忽略大小写) |
public int indexOf(String str,int fromIndex); | 从字符串的第fromIndex个字符开始检索str |
toUpperCase() | 转换为大写 |
21.==和equals有什么区别?
1)==比较的是两个值的首内存地址
2)equals方法比较的是两者实际的值
22.如何使用StringBuffer进行字符串拼接,请写出代码?
调用append() 可把任何类型数据的字符串表示连接到调用的StringBuffer对象的末尾。
例:
int a=42; StringBuffer sb=new StringBuffer(40); String s=sb.append("a=").append(a).append("!").toString();
房上的猫:java基础知识部分知识点的更多相关文章
- JAVA基础知识|小知识点
1.强烈建议,不使用char类型 那么,到底为什么java里不推荐使用char类型呢?其实,1个java的char字符并不完全等于一个unicode的字符.char采用的UCS-2编码,是一种淘汰的U ...
- java基础知识部分知识点
1.Java常见的注释有哪些,语法是怎样的? 1)单行注释用//表示,编译器看到//会忽略该行//后的所文本 2)多行注释/* */表示,编译器看到/*时会搜索接下来的*/,忽略掉/* */之间的文 ...
- JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)
本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- java基础知识小总结【转】
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...
- Java基础知识系列——String
最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...
- 学习android学习必备的java基础知识--四大内部类
学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...
- java基础知识梳理
java基础知识梳理 1 基本数据类型
- java基础知识回顾之---java String final类普通方法
辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /* * 按照面向对象的思想对字符串进行功能分类. * ...
随机推荐
- 完成你的第一个superMap示例
1.从官网下载superMap安装包,我选择setup包 2.解压压缩文件后,按照readme指导书,运行setup.exe进行安装 解压后压缩包包含文件: 执行setup.exe进行安装,其中Sup ...
- mysqldump指定编码导出数据
mysqldump指定编码导出数据 第一步,导出旧库 mysqldump --default-character-set=latin1 -uroot -pXXX --database db > ...
- macOS安装beego的使用bee命令出现killed:9 解决办法
最近想搞一个restful api,发现go还是不错的,拿来研究下 beego文档:https://beego.me/quickstart 安装之后,执行bee命令,报错如下: 应该是最新mac OS ...
- Android破解学习之路(三)——Android游戏 切水果破解
经过前两篇破解教程,想必大家也是明白了破解的简单流程了. 先对APP进行试用,了解APP运行的大概流程,之后从APP中找出关键字(一般的关键字差不多都是支付失败),之后使用Androidkiller进 ...
- vue.js初学,笔记1,安装
最近学习vue.js,下面是笔记: 说明:因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队干了这事.来自官网:"这 ...
- 用Python删除本地目录下某一时间点之前创建的所有文件
因为工作原因,需要定期清理某个文件夹下面创建时间超过1年的所有文件,所以今天集中学习了一下Python对于本地文件及文件夹的操作.网上 这篇文章 简明扼要地整理出最常见的os方法,抄袭如下: os.l ...
- 动态规划-迷宫-百度之星-Labyrinth
Labyrinth Problem Description 度度熊是一仅仅喜欢探险的熊.一次偶然落进了一个m*n矩阵的迷宫,该迷宫仅仅能从矩阵左上角第一个方格開始走,仅仅有走到右上角的第一个格子才算走 ...
- 使用storyboard设置button边框属性(颜色,宽度,圆角)
通常使用Category时.仅仅能加入方法,不可加入属性.可是在使用Storyboard时我们可能会使用到keyPath,这里设置的key都须要是所设置视图的属性值.而且类型有所限制. 比如:我如今有 ...
- linux 磁盘管理三部曲——(2)管理分区,文件系统类型格式化
上篇小编给大家讲解了磁盘结构和分区的介绍,这篇小编就给大家演示如何管理分区和文件系统类型格式化. 小编上篇已经提到如何使用磁盘,今天这两步,就是其中很重要的两步.(前几天写的有点急,有点乱,今天又整理 ...
- python+appium+unittest自动化测试框架环境搭建
一.基础软件准备 1.python 版本最新版本,python的IDE使用pycharm.具体的下载链接: python https://www.python.org/ pycharm:https:/ ...