Java基础知识点1

运算符

运算符的分类:

算术运算符 赋值运算符 关系运算符 逻辑运算符 位运算符 三目运算符

自增自减运算符:++i:i先自加,再做其他运算;i++先运算再自加;

--i先自减再做其他运算;i--先运算再自减;

赋值运算符

= : 这个等于号在Java中表示赋值的意思,真正数学意义上的相等是 == 在JavaScript当中还有 ===,表示类型和数值都相等

 

扩展赋值运算符:

+=   -=   *=   /=   %= (使用扩展赋值运算符系统会自动帮我们强制类型转换)

*关系运算符的结果是boolean类型

逻辑运算符     作用: 连接多个boolean类型的表达式

 boolean类型的表达式1 逻辑运算符 boolean类型的表达式2逻辑运算符 boolean类型的表达式3 逻辑运算符 boolean类型的表达式n

(&): 有一个为false结果为false如果都为true结果才为true

(|): 有一个为true结果为true如果两个都为false结果才为false

异或(^ : 相同为false,不同为true  (相同为0,不同为1)

非(! : 取反

当!的个数是奇数个的时候,结果相反

当!的个数是偶数个的时候,结果不变

面试题: & 和 && 的区别

1、& 表示按位与,无论什么情况都会同时计算运算符两边的表达式

2、&& 表示短路与, 如果前面的表达式为false,那么无论后面结果如何,都不会去计算后面表达式的值

3、&&开发中使用,&基本不用

4、&常用于位运算,位运算的效率比普通运算要高很多

 

条件运算符(三目运算符(?:))

格式: X ? Y : ZX表达式必须是boolean类型的表达式

X为ture,则输出Y,为false,输出Z

表达式: 符合一定语法规则的运算符和操作数的式子。

 

使用Scanner对象一些小技巧:

1.使用键盘输入获取数据之前建议加入提示性语句

2.next系列的方法是阻塞方法,会等待用户的输入,用户输入结束,程序继续执行

注意事项:异常名称: 输入不匹配异常

  产生原因: 输入的类型和接收的类型不匹配

  解决办法: 类型匹配即可

 

位运算符: 用来计算二进制的运算符

   例如System.out.println(3 & 4); // 0

00000000 00000000 00000000 000000113

&00000000 00000000 00000000 000001004

-----------------------------------------

00000000 00000000 00000000 000000000

 

原码、反码、补码的运用

在计算机中,负数可以用原码、反码、补码表示

但计算机只有表达一种方式:补码

计算机中只要是运算都是用补码来操作

 

原码:最高位是符号位,0表示正数,1表示负数

反码:正数的反码和原码相同,负数的反码是除了符号位不变,各位按位取反

补码:正数的补码和原码相同,负数补码是在反码末位加1

例如:10001001

  1  0001001 原码

  1  1110110 反码

  1  1110111 补码

 

移位运算符

<<  >>  >>>

<< 左移 : 左边最高位丢弃,右边补0

>> 右移 :

最高位是0,左边补0

最高位是1,左边补1

>>> 无符号右移: 无论最高位是0还是1,左边补0

System.out.println(-24 >> 2);

计算出24的二进制 11000

原码 : 10000000 00000000 00000000 00011000

反码 : 11111111 11111111 11111111 11100111

补码 : 11111111 11111111 11111111 11101000

 

1111111111 11111111 11111111 111010 补码

1111111111 11111111 11111111 111001 反码

1000000000 00000000 00000000 000110 原码

 

结果 -6

 

System.out.println(-24 >>> 2);

计算出24的二进制

原码 : 10000000 00000000 00000000 00011000

反码 : 11111111 11111111 11111111 11100111

补码 : 11111111 11111111 11111111 11101000

补码: 0011111111 11111111 11111111 111010

反码: 0011111111 11111111 11111111 111001

原码: 0100000000 00000000 00000000 000110

 

*面试题:

1.请用计算机执行效率最快方式计算 2 乘以 16

2 << 4

2.使用最有效率的方式交换两个数的位置两个数对调

方式一:

int temp ;

int a = 10;

int b = 20;

temp = a;

a = b;

b = temp;

方式二

利用异或的特点: 一个数值对另外一个数值进行异或两次,那么数值本身不做任何改变

int  a,b;     a=a^b; b=a^b; a=a^b;(相同为0,不同为1)

 

 

分支语句

If语句

格式:   if(条件表达式){

    语句体;

    }

执行流程: 如果条件表达式为true,执行if语句体,否则不做任何操作

注意事项:

 *   1.当语句体中只有一条语句的时候,大括号可以省略,但是建议不省略,但是如果有多条语句必须使用大括号包裹

 *   2.注意if(score >= 90)  ;  {} 这种会永远执行

 *   3.单if语句可以使用三目运算符改进,建议使用三目

 *   4.条件表达式必须是boolean类型的值

 

if-else语句

格式:执行流程:如果条件表达式的结果为

 if(条件表达式){true执行语句体1;

  语句体1;

  } else {false执行语句体2;

  语句体2;

  }

注意:

1.比较基本类型是否相等使用 ==,比较引用类型是否相等暂时使用equals

2.能用三目运算符尽量使用三目运算符

能够使用三目改进的就一定能够使用if语句,但是能用if语句实现的不一定可以使用三目运算符

 

多重if语句

格式:

if(条件表达式1){

 语句体1;

 } else if(条件表达式2){

 语句体2;

 } else if(条件表达式3){

 语句体3;

 } ...else if(条件表达式n){

 语句体n;

 } else {

  语句体n+1;

  }

注意事项:

  1.这种语句一般作用于区间判断

  2.else if可以有多个,else最多只有一个

 

嵌套if语句

格式:

  if(条件表达式1){

语句体1;

 if(条件表达式1){

语句体2;       嵌套if--else

 } else {

 语句体3;

 if(条件表达式1)嵌套if

 {语句体3;}

}

} else {

 if(条件表达式1){嵌套多重if--else

 语句体1;

 } else if(条件表达式2){

 语句体2;

 } else if(条件表达式3){

语句体3;

 } ...else if(条件表达式n){

 语句体n;

} else {

语句体n+1;

 }

}

注意!嵌套if语句一般可读性差

 

swicth语句格式

switch (表达式)  {

case 值1 :

语句序列;

break;

case 值2:

 语句序列;

break ;

default:

 break ;

}

switch语句的特点:

1.表达式的类型可以是以下几种数据类型byte short int char

注意: 表达式的类型本质还是整数类型 (byte short int char) 他们之间换算还是会转化成int类型来计算

2.case子句的取值必须是常量表达式,case子句可以有多个,case子句的值不能重复

3.default子句类似于if语句中的else,default子句可以出现在switch语句中的任何位置,建议放在最后面

4.break子句表示退出switch语句体,如果case或者default子句中没有break子句,会出现break穿透现象如果都没有break子句,程序会从上至下依次执行

---------------------------------------------------------------------------------------------------------

if语句和Switch语句的选择

if选择结构

基本if选择结构: 处理单一或组合条件的情况

if-else选择结构:处理简单的条件分支情况,建议使用三目运算符改进

多重if选择结构:处理复杂的条件分支情况

嵌套if选择结构:用于较为复杂的流程控制

switch选择结构

多重分支并且条件判断是等值判断的情况

 

if语句和switch语句的区别

if语句

表达式的结果是boolean类型

常用于区间判断

switch语句

表达式类型不能是boolean类型,可以是byte short int char String 枚举

常用于等值判断

选择语句的选取:

能用switch语句实现的就一定可以使用if实现,但是反之不一定

如果是区间范围采用if,如果是等值判断使用switch

循环语句

      for循环

    while循环

  do-while循环 特点是:先执行一次循环体,再判断条件

循环语句总结

for,while循环是先判断再执行;do-while循环是先执行,再判断,并且一定会执行一次循环体。

在循环结束后,还希望能使用作为循环条件判断使用的变量,使用While循环,否则使用for循环。for循环的变量 i 只作用于循环体。

如果循环条件是一个区间范围的,使用for循环。如果循环次数不明确,使用while循环。

 

for while do-while循环三者的区别和选取

 1.for 和 while do-while比较

 a.for循环针对循环次数确定的情况,while和do-while针对循环次数不确定的情况

 b.for循环里面的循环变量只在循环体内有效,while循环放在循环体外,作用于全局

 2.while 和 do - while的比较

 while循环是先判断条件是否成立,再执行循环体

 do-while实现执行一次循环体,再来判断条件是否成立

break语句

break作用: 终止某个语句块的执行退出循环体或者switch语句体

注意:break + 标签名的写法不建议书写,因为会大大降低程序的刻度性,慎用

 

continue语句

continue只能够作用在循环体内

continue的作用

1.表示退出本次循环,执行下一次循环

2.退出本次循环,直接执行控制条件语句(for循环)

3.一旦碰到continue关键字,无论continue下面有多少行代码都不会被执行

循环

单层循环

表示退出本次循环,执行下一次循环

多层循环

continue + 标签名: 直接执行标签名所对应的循环的控制条件语句(for)

例如:outLoop:for (int i = 0; i < 3; i++) {

innerLoop:for (int j = 0; j < 7; j++) {

if (j == 3) {

continue outLoop;

}

System.out.print("*");

}

=============================================================================================================================================================================================================================================

*方法:

为什么需要学习方法?

1.简化了代码

2.提高了代码的扩展性和可维护性

3.我们从一个方法的实现者转而成为了一个方法的调用者指挥者,这也是面向对象思想的心基础

 

方法概念: 完成特定功能的代码片段

原文地址:https://www.cnblogs.com/wdss/p/10742327.html

时间: 2024-08-08 14:29:33

Java基础知识点1的相关文章

JAVA基础知识点总结(全集)

1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境,JRE:java运行环境 1.4第一个java程序:HelloWorld,java的入口是main(public static void main(String[] args)) 1.5java程序的开发步骤:.java编译(javac)成.class运行(java).class文件 2.基本数据

java基础知识点回顾

java基础数据类型 bollean 1 char 2 byte 1, short 2 , int 4, long 8 float 4, double 8 ----------------------------------------------------- java 四大特征 抽象,封装,继承,多态 ---------------------------------------------------- override 和 overload override(重写):子类重写父类方法体,

java基础知识点

1.Java语言的特点是什么? 简单性,面向对象的语言,一种与平台无关的语言,健壮性和安全性,多线程,垃圾回收机制: 2.如何编译和执行java文件?产生帮助文档用什么命令? 编译: javac   文件名 执行:java    类名 产生帮助文档:   javadoc  文件名 3.虚拟机的工作流程是什么? 编写源文件*.java---通过javac将源文件编译成字节码文件*.class 类加载------字节码效验-------解释器------操作系统 4.Jdk和jre是什么?main方

Java基础知识点总结

转:http://my.oschina.net/u/267295/blog/52716 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用.demo 4,该技术什么时候用?test. ----------------------------------------

java基础知识点总结 1

>标示符: 所有的名字 和同类区分 方便调用       命名规则:由数字字母_$组成 不能以数字开头 区分大小写 不能是java关键字 命名规范:尽量增加可读性 类名:所有单词首字母大写 变量名/方法名:除了第一个单词 其他单词首字母大写 final常量: 所有字母大写 >关键字:java中被赋予特殊含义的单词或者字符 static void byte short int long float double boolean char protected private public stat

【Java基本功】很多人经常忽视的Java基础知识点

*.Java文件 问题:一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 答案:可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致.一个文件中可以只有非public类,如果只有一个非public类,此类可以跟文件名不同. 为什么一个java源文件中只能有一个public类? 在java编程思想(第四版)一书中有这样3段话(6.4 类的访问权限): 1.每个编译单元(文件)都只能有一个public类,这表示,每个编译单元都有单一的

java基础知识点梳理1

抽象类:   在不断抽取过程中,将共性内容中的方法声明抽取,但是方法不一样,没有抽取,这时抽取到的方法,并不具体,需要被指定关键字abstract所标示,声明为抽象方法. 抽象类的特点: 1:抽象方法只能定义在抽象类中,抽象类和抽象方法必须由abstract关键字修饰(可以描述类和方法,不可以描述变量). 2:抽象方法只定义方法声明,并不定义方法实现. 3:抽象类不可以被创建对象(实例化). 4:只有通过子类继承抽象类并覆盖了抽象类中的所有抽象方法后,该子类才可以实例化.否则,该子类还是一个抽象

Java基础知识点备忘

static 1.静态域 用static修饰的域是仅属于类的静态域,静态域是类中每个对象共享的域:他们是类的域,不属于任何一个类的具体对象:静态域是一个公共的存储单元,任何一个类的对象访问它时,取到的都是相同的数值,因此static代码块可以优化程序性能. 2.静态方法 用static修饰的方法叫类方法也叫静态方法:静态方法和静态变量一样,不许创建类的实例,可以直接通过类名被访问:无法使用protected和abstract关键字:在静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态

Java 基础知识点(必知必会其二)

1.如何将数字输出为每三位逗号分隔的格式,例如“1,234,467”? 1 package com.Gxjun.problem; 2 3 import java.text.DecimalFormat; 4 import java.util.Scanner; 5 6 7 /* 8 * 如何将数字输出为每三位逗号分隔的格式, 9 * 例如“1,234,467”? 10 * */ 11 12 public class FloatDirve { 13 14 public static void main