用java理解程序逻辑小结

时间:2022-10-31 08:32:35

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.如何定义类的属性和方法?如何使用类的属性和方法
定义:
/**
* 这是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字符串的方法,以及其用途?

1).length() 字符串的长度

2).charAt() 截取一个字符

3).equals()和==
   equals()方法比较字符串对象中的字符,==运算符比较两个对象是否引用同一实例。

4).indexOf()和lastIndexOf()
   indexOf() 查找字符或者子串第一次出现的地方。
   lastIndexOf() 查找字符或者子串是后一次出现的地方

5).substring()   它有两种形式
第一种是:String substring(int startIndex)提取startIndex下标以后的字符

第二种是:String substring(int startIndex,int endIndex)提取startIndex下标到endIndex下标的字符(startIndex下标从0开始,endIndex下标从1开始);

6).concat() 连接两个字符串

7).trim() 去掉起始和结尾的空格

8).toLowerCase() 转换为小写

9).toUpperCase() 转换为大写

10).compareTo()和compareToIgnoreCase() 比较字符串

11).public int indexOf(String str,int fromIndex);//从字符串的第fromIndex个字符开始检索str

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理解程序逻辑小结的更多相关文章

  1. 使用java理解程序逻辑 试题分析

      1.编译Java Applet源程序文件产生的字节码文件的扩展名为() A:.java B..class C:Html D:Exe 正确答案:B 试题分析: 本题考查的是Java程序的开发过程.J ...

  2. 《Java理解程序逻辑试题分析》

    1.以下关于开发java程序的描述错误的是 (). (选择一项) A:开发Java程序的步骤包括:编写源程序.编译.运行 B:编写的Java源程序文件使用 java作为扩展名 C:Java源文件经编译 ...

  3. 使用java理解程序逻辑,变量

    数据类型 说明 举例 int 整型 用于存储整数.例如.学员人数.某公司的员工编号.一年的天数.一天的小时数 double 双精度浮点型 用于存储带有小数的数字.例如商品的价格.世界的价格.世界银行给 ...

  4. 使用java理解程序逻辑 第三章 选择结构一

    if 选择结构: if(条件){       代码块  //条件成立后要执行的代码.可以是一条语句,也可以是一组语句 } 可以处理单一或组合条件的情况. if-else 选择结构: if(条件){   ...

  5. Java并行程序设计模式小结

    这里总结几种常用的并行程序设计方法,其中部分文字源自<Java程序性能优化>一书中,还有部分文字属于个人总结,如有不对,请大家指出讨论. Future模式 一句话,将客户端请求的处理过程从 ...

  6. Java Web安全之程序逻辑缺陷

    Java Web程序逻辑缺陷本质是由于程序设计和开发者设计的程序执行逻辑存在某种缺陷而导致的安全隐患.企业的代码审查和渗透测试通常主要针对的大多是诸如xss攻击和sql注入和跨站点脚本这些头条式漏洞, ...

  7. Java编程的逻辑 &lpar;82&rpar; - 理解ThreadLocal

    ​本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...

  8. Java编程的逻辑 &lpar;66&rpar; - 理解synchronized

    ​本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...

  9. java&bsol;c程序的内存分配

    JAVA 文件编译执行与虚拟机(JVM)介绍 Java 虚拟机(JVM)是可运行Java代码的假想计算机.只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该 ...

随机推荐

  1. 转载&colon;Qt之界面实现技巧

    总结一下,在开发Qt的过程中的一些技巧!可遇而不可求... 一.主界面 1.窗口 最小化 最大化 关闭按钮.显示状态自定义 setWindowFlags(Qt::CustomizeWindowHint ...

  2. C&plus;&plus; Prime:指针

    指针与引用的区别:1.指针本身就是一个对象,允许对指针赋值和拷贝,而且在指针的生命周期内它可以先后指向几个不同的对象:其二:指针无需在定义时赋值.指针在块作用域内定义如果没有被初始化,也将拥有一个不确 ...

  3. memory&lowbar;target not supported on this system

  4. Ubuntu自带的vi编辑器太难用了,换

    由于Ubuntu预安装的是tiny版本,就会导致我们在使用上的产生不便.所以我们要安装vim的full版本. 首先,先卸掉旧版的vi,输入以下命令: sudo apt-get remove vim-c ...

  5. Aop编程--注解与xml的实现

    一.注解方式 1.首先引入spring对于aop编程的jar支持包,spring框架没有的包请自行在网上下载. aopalliance-alpha1.jar aspectjrt.jar aspectj ...

  6. WPF中静态引用资源与动态引用资源的区别

    WPF中静态引用资源与动态引用资源的区别   WPF中引用资源分为静态引用与动态引用,两者的区别在哪里呢?我们通过一个小的例子来理解. 点击“Update”按钮,第2个按钮的文字会变成“更上一层楼”, ...

  7. 前端安全之XSS攻击及防御

    xss攻击是什么 ? XSS攻击类似于SQL注入攻击,攻击之前,我们先找到一个存在XSS漏洞的网站,XSS漏洞分为两种,一种是DOM Based XSS漏洞,另一种是Stored XSS漏洞.理论上, ...

  8. &lbrack;Educational Round 13&rsqb;&lbrack;Codeforces 678F&period; Lena and Queries&rsqb;

    题目连接:678F - Lena and Queries 题目大意:要求对一个点集实现二维点对的插入,删除,以及询问\(q\):求\(max(x\cdot q+y)\) 题解:对每个点集内的点\(P( ...

  9. 指导手册04:运行MapReduce

    指导手册04:运行MapReduce   Part 1:运行单个MapReduce任务 情景描述: 本次任务要求对HDFS目录中的数据文件/user/root/email_log.txt进行计算处理, ...

  10. 14-补充内容:MySQl创建用户和授权

    [转]14-补充内容:MySQl创建用户和授权 权限管理 我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作.包括select.update.delete.update.grant等操 ...