JAVA基础总结

java开发环境:
1)编译运行过程:
1.1)编译期:.java,经过编译,生成.class字节码文件
1.2)运行期:JVM加载.class并运行.class
跨平台,一次编程到处使用
2)名词:
2.1)JVM:java虚拟机
加载.class并运行.class
2.2)JRE:java运行环境
除了包含JVM以外还包含运行java程序所必须的环境
JRE=JVM+java系统类库
2.3)JDK:java开发工具包
除了包含JRE以外还包含开发java程序所必须的命令工具
JDK=JRE+编译、运行等工具
运行的最小环境为JRE,开发的最小环境为JDK
变量、基本数据类型

1.变量:存数的,代词,指代的就是它所存的那个数
1)声明:
int a; //声明一个整型的变量,名为a
int b,c,d; //声明三个整型的变量,名为b,c,d
2)命名:
2.1)只能包含字母、数字、_和$符,并且不能以数字开头
2.2)严格区分大小写
2.3)不能使用关键字
2.4)可以中文命名,但不建议
建议:“见名知意”、“驼峰命名法”
3)初始化:第一次赋值
3.1)声明的同时初始化
int a = 5; //声明整型变量a并赋值为5
3.2)先声明后初始化
int a; //声明整型变量a
a = 5; //给变量a赋值为5
4)使用:
4.1)对变量的使用就是对它所存的那个数的使用
4.2)变量的使用要与数据类型匹配
int a = 3.14; //编译错误,数据类型不匹配
4.3)变量在用之前必须声明并初始化
System.out.println(m); //编译错误,m未声明
int m;
System.out.println(m); //编译错误,m未初始化
2.基本数据类型:
1)int:整型,只能装整数,4个字节,-21个多亿到21个多亿
1.1)整数直接量默认为int型,但不能超范围,超范围则编译错误
1.2)两个整数相除,结果还是整数,小数位无条件舍弃
1.3)整数运算时超出范围则发生溢出,溢出是需要避免的
2)long:长整型,只能装整数,8个字节,很大很大很大
2.1)长整型直接量需要数字后加L或l
2.2)运算时若有可能溢出,建议在第1个数字后加L,不溢出可以不加L
2.3)System.currentTimeMillis()用于获取自
1970.1.1零时到此时此刻的毫秒数
3)double:浮点型,只能装小数,8个字节,很大很大很大
3.1)浮点数直接量默认为double型,若想表示float需要数字后加F或f
3.2)double型数据参与运算时,会出现舍入误差,所以精确运算场合不能用
4)boolean:布尔型,1个字节
4.1)只能取值为true和false
5)char:字符型,2个字节
5.1)java中的char采用Unicode编码格式,
一个字符char对应一个码int
表现的形式是char字符,但实质上存储的是int码
码只能在0到65535之间
ASCII码:‘a’–97 ‘A’–65 ‘0’–48
5.2)字符直接量必须放在单引号中,有且仅有一个
5.3)特殊字符需要通过\来转义
基本数据类型间的转换:
基本数据类型从小到大依次为:
byte,short,int,long,float,double,
char
1)两种方式:
1.1)自动类型转换:从小类型到大类型
1.2)强制类型转换:从大类型到小类型
语法: (要转换为的类型)变量
强转有可能会溢出或精度丢失
2)两点规则:
2.1)整数直接量可以直接赋值给byte,short,char,
但不能超范围
2.2)byte,short,char型数据参与运算时,
先一律转换为int再运算
1.运算符:
1)算术:+,-,,/,%,++,–
2)关系:>,<,>=,<=,==,!= boolean
3)逻辑:&&,||,! boolean
4)赋值:=,+=,-=,
=,/=,%=
5)字符串连接:+
6)条件(三目)运算:boolean?数1:数2
2.分支结构:
1)if结构:1条路
2)if…else结构:2条路
3)if…else if结构:多条路
4)switch…case结构:多条路
优点:效率高、结构清晰
缺点:整数、相等
case中如果没有break则一直走到完
5)break:退出switch
用switch能实现的,用if…else if都可以实现
用if…else if能实现的,不一定能用switch实现
3.闰年的判断公式:

1)能被4整除,并且,不能被100整除,或者能被400整除
(year%4==0 && year%100!=0) || year%400==0

2)输出系统当前时间
long startTime = System.currentTimeMillis();
4.循环:
1.循环:反复执行一段相同或相似的代码
2.循环三要素:
1)循环变量的初始化
2)循环的条件(以循环变量为基础)
3)循环变量的改变(向着循环的结束变)
循环变量:在循环过程中所改变的那个数
3.循环结构:
1)while:先判断后执行,有可能一次都不执行
2)do…while:先执行后判断,至少执行一次
第1要素与第3要素相同时首选
3)for:应用率最高,固定次数循环
4.break:退出循环
continue:跳过循环体中剩余语句而进入下一次循环
5.三种循环的更佳适用情况:
1)while:"当…"循环
2)do…while:"直到…"循环
第1要素与第3要素相同时首选do…while
3)for:固定次数循环,应用率最高
6.嵌套循环:
1)循环中套循环,一般多行多列时使用,
外层控制行,内层控制列
2)执行规则:外层循环走一次,内层循环走所有次
3)建议:嵌套的层数越少越好,能用一层就不用两层
若必须超过三层才能实现,说明设计有问题
4)break只能跳出一层循环

  • Java中数据类型的分类

    • 基本数据类型
    • 引用数据类型
  • 基本数据类型分类(4类8种)

    • 整数型
      • byte 占一个字节 -128到127
      • short 占两个字 -215~215-1
      • int 占四个字节 -231~231-1
      • long 占八个字节 -263~263-1
    • 浮点型
      • float 占四个字节 -3.403E38~3.403E38 单精度
      • double 占八个字节-1.798E308~1.798E308 双精度
    • 字符型
      • char 占两个字节 0~65535
    • 布尔型
      • boolean
        • boolean理论上是占八分之一个字节, 但是,它的大小不是明确指定的.
          boolean的大小JVM规范并没有指定
  • A:案例演示

    • 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
    • byte b1 = 3;
    • byte b2 = 4;
    • byte b3 = b1 + b2;

Java语言基础(算术运算符++和–的用法)(掌握)

  • A:++,–运算符的作用
    • 自加(++)自减(–)运算
    • ++:自加。对原有的数据进行+1
    • –:自减。对原有的数据进行-1
  • B:案例演示
    • a:单独使用:
      • 放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)
    • b:参与运算使用:
      • 放在操作数的前面,先自增或者自减,然后再参与运算。
      • 放在操作数的后面,先参与运算,再自增或者自减。

Java语言基础(算术运算符++和–的练习)(掌握)

  • A:案例演示
  •   * 请分别计算出a,b,c的值?
      * 
      		int a = 10;
      		int b = 10;
      		int c = 10;
      		a = b++;		
      		c = --a;		
      		b = ++a;		
      		a = c--;		
    
  • B:案例演示
  •   * 请分别计算出x,y的值?
      
      		int x = 4;
      		int y = (x++)+(++x)+(x*10);
      		~~~
    
  • C:面试题
    • byte b = 10;
    • b++;
    • b = b + 1;
    • 问哪句会报错,为什么

b+=1(b++)包含了一个隐藏的类型转换,相当于 b=(byte)(b+1);

Java语言基础(赋值运算符的基本用法)(掌握)

  • A:赋值运算符有哪些
    • a:基本的赋值运算符:=

      • 把=右边的数据赋值给左边。
    • b:扩展的赋值运算符:+=,-=,*=,/=,%=

      • += 把左边和右边做加法,然后赋值给左边。

Java语言基础(赋值运算符的面试题)(掌握)

  • A:案例演示
    • 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
    • short s=1;s = s+1;
    • short s=1;s+=1;

Java语言基础(关系运算符的基本用法及其注意事项)(掌握)

  • A:关系运算符有哪些(比较运算符,条件运算符)
    • ==,!=,>,>=,<,<=
  • 注意事项:
    • 无论你的操作是简单还是复杂,结果是boolean类型。

    • “==“不能写成”=”。

Java语言基础(逻辑运算符的基本用法)(掌握)

  • A:逻辑运算符有哪些
    a: &,|,^,!
    b: &&,||

  • B:案例演示

  • 逻辑运算符的基本用法

  • 注意事项:

    • a:逻辑运算符一般用于连接boolean类型的表达式或者值。
    • b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
      • 算术表达式:a + b
      • 比较表达式:a == b(条件表达式)
  • C:结论:

  • &逻辑与:有false则false。

  • |逻辑或:有true则true。

  • ^逻辑异或:相同为false,不同为true。

  • !逻辑非:非false则true,非true则false。

Java语言基础(逻辑运算符&&和&的区别)(掌握)

  • A:案例演示

    • &&和&的区别?
      • a:最终结果一样。
      • b:&&具有短路效果。左边是false,右边不执行。
      • &是无论左边是false还是true,右边都会执行
  • B:同理||和|的区别?

  • C:开发中常用谁?

    • &&,||,!

Java语言基础(位运算符的基本用法1)(了解)

  • A:位运算符有哪些
    • &,|,^,~ ,>>,>>>,<<
  • B:案例演示
    • 位运算符的基本用法1

    • &,|,^,~ 的用法

    • &:有0则0

    • |:有1则1

    • ^:相同则0,不同则1

    • ~:按位取反
      计算: 4&7 的值?
      8&14的值?

  • C:面试题
    • byte可以作为switch的表达式吗?
    • long可以作为switch的表达式吗?
    • String可以作为switch的表达式吗?
  • C:执行流程
    • 先计算表达式的值
    • 然后和case后面的匹配,如果有,就执行对应的语句,否则执行default控制的语句

Java语言基础(选择结构switch语句的注意事项)(掌握)

  • A:案例演示
    • a:case后面的值不能出现相同的
    • b:default可以省略吗?
      • 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
    • c:break可以省略吗?
      • 最后一个可以省略,其他最好不要省略
      • 会出现一个现象:case穿透。
      • 最终我们建议不要省略
    • d:default一定要在最后吗?
      • 不是,可以在任意位置。但是建议在最后。
    • e:switch语句的结束条件
      • a:遇到break就结束了
      • b:执行到switch的右大括号就结束了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值