java语言基础组成

1.关键字

访问控制
private    protected    public

类,方法和变量修饰符
abstract    class    extends    final    implements    interface    native    new
static    strictfp    synchronized    transient    volatile

程序控制
break    continue    return    do    while    if    else    for    instanceof    switch
case    default

异常处理
try    cathc    throw    throws

包相关
import    package

基本类型
boolean    byte    char    double    float    int    long    short    null    true    false

变量引用
super    this    void

保留字
goto    const

2.标识符

程序中自己起的一些名字
组成规则:26个英文字母大小写,数字0-9,以及”_” “$”符号
定义规则:数字不能开头
关键字不能做标识符
注意事项:严格区分大小写,尽量起一些见名知意的名字

3.注释

  • 用于注解程序中的说明文字,调试程序使用

  • 提高了代码的阅读性

  • 注释类型:
    单行注释: // 注释内容
    多行注释: /* 注释内容 */
    文档注释: /** 注释内容 */


  • 代码仅仅是思想的一种体现,写程序的具体步骤:
明确需求
写下思路
写代码的步骤

5.常量和变量

  • 常量表示不能改变的数值

  • java中常量的分类:
    1.整数常量
    2.小数常量
    3.布尔型常量,true和false
    4.字符常量,将一个数字字母或者符号用单引号(’ ‘)标识
    5.字符串常量.将一个或者多个字符用双引号(” “)标识
    6.null常量。只有一个数值,就是null

  • 对于整数:有四种表现形式。
    二进制:0,1,满2进1.
    八进制:0-7,满8进1,用0开头表示
    十进制:0-9,满10进1.
    十六进制:0-9,A-F,满16进1,用0x开头表示


  • 变量的概念:
    内存中的一个存储区域
    该区域有自己的名称(变量名)和类型(数据类型)
    该区域的数据可以在同一类型范围内不断变化
  • 为什么要定义变量:
    用来不断的存放同一类型的常量,并可以重复使用
  • 使用变量注意:
    变量的作用范围(一对{}之间有效)
    初始化值
  • 定义变量的格式:
    数据类型 变量名 = 初始化值;
    变量就如同数学中的未知数。

  • java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间
    整数默认为int 小数默认为double
    这里写图片描述


  • 自动类型转换(隐式类型转换)
    容量小的数据类型可以自动转换为容量大的数据类型。
    例子:
    这里写图片描述
  • 强制类型转换(显式类型转换)
    用于显示的转换一个数值的类型,有可能造成精度降低或溢出。
    这里写图片描述
    上面的强制类型转换为 b = (byte) b + x;
  • 类型转换的原理

  • 什么时候要用强制类型转换?
    父类转化为子类时需要。

  • 表达式的数据类型自动提升

    • 所有的byte型、short型和char型的值将被提升到int型。
    • 如果一个操作数是long型,计算结果就是long型;
    • 如果一个操作数是float型,计算结果就是float型;
    • 如果一个操作数是double型,计算结果就是double型;

5.运算符

  • 算术运算符
    这里写图片描述

自增(++)自减(–)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数。

public class selfAddMinus{
    public static void main(String[] args){
        int a = 3;//定义一个变量;
        int b = ++a;//自增运算
        int c = 3;
        int d = --c;//自减运算
        System.out.println("进行自增运算后的值等于"+b);
        System.out.println("进行自减运算后的值等于"+d);
    }
}
进行自增运算后的值等于4
进行自减运算后的值等于2
  • 赋值运算符
    这里写图片描述

  • 关系运算符
    这里写图片描述

  • 位运算符
    这里写图片描述

例如:最有效率的计算出2*8=?
这里写图片描述
2左移3位,末尾再补3个0

对两个整数变量的值进行互换,不使用中间变量

//这种方式可能会超出int范围
int a = 3;b = 5;
a = a+b;
b = a-b;
a = a-b;

方式二:
a = a^b;
b = a^b;
a = a^b;
//一个数异或同一个数两次,还是这个数本身。
  • 逻辑运算符
    这里写图片描述

  • 三元运算符
    格式:(条件表达式)?表达式1:表达式2
    如果条件为true,结果为表达式1;
    如果条件为false,结果为表达式2;

    • 例如:获取两个数中的最大值放到z中
int x= 3;y=4;z;
z = (x>y)?x:y //z变量中存储的就是两者的最大值

6.程序的流程控制

  • 顺序结构
    程序中是从上到下,从左到右顺序执行。
  • 判断结构
    • if语句
 格式1if(布尔表达式)
{
   //如果布尔表达式为true将执行的语句
}
格式2if(布尔表达式){
   //如果布尔表达式的值为true
}else{
   //如果布尔表达式的值为false
}
格式3if(布尔表达式 1){
   //如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
   //如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
   //如果布尔表达式 3的值为true执行代码
}else {
   //如果以上布尔表达式都不为true执行代码
}
  • 循环结构
    • while循环
    • do…while 循环
    • for循环
    • 增强 for 循环
格式:
while( 布尔表达式 ) { //只要布尔表达式为 true,循环体会一直执行下去。
  //循环内容
}
--------------------------------------
//do-while循环即使不满足条件,也至少执行一次。
do {
       //代码语句
}while(布尔表达式);
--------------------------------------
for(初始化; 布尔表达式; 更新) {
    //代码语句
}
--------------------------------------
for(声明语句 : 表达式)
{
   //代码句子
}

增强for循环

public class Test {
   public static void main(String args[]){
      int [] numbers = {10, 20, 30, 40, 50};

      for(int x : numbers ){
         System.out.print( x );
         System.out.print(",");
      }
      System.out.print("\n");
      String [] names ={"James", "Larry", "Tom", "Lacy"};
      for( String name : names ) {
         System.out.print( name );
         System.out.print(",");
      }
   }
}
10,20,30,40,50,
James,Larry,Tom,Lacy,

  • 选择结构
    • switch语句
格式:
switch(expression){
    case value :
       //语句
       break; //可选
    case value :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}

switch 语句有如下规则:

  • switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串类型了,同时 case 标签必须为字符串常量或字面量。
  • switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
  • case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
  • 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
  • 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
  • switch 语句可以包含一个 default 分支,该分支必须是 switch 语句的最后一个分支。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。
package com.demo1;

public class Demo1 {
    public static void main(String[] args) {
        String grade = "C";
        switch (grade) {
        case "A":
            System.out.println("优秀");
            break;
        case "B":
        case "C":
            System.out.println("良好");
            break;
        case "D":
            System.out.println("及格");
        case "F":
            System.out.println("你需要再努力努力");
            break;
        default:
            System.out.println("未知等级");
        }
        System.out.println("你的等级是 " + grade);
    }
}
良好
你的等级是 C

if和switch的应用:
- if :
- 1.对具体的值进行判断
- 2.对区间判断。
- 3.对运算结果是boolean类型的表达式进行判断。

  • switch:
    • 1.对具体的值进行判断
    • 2.值的个数通常是固定的
    • 3.对于几个固定的值判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存。效率相对高一点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘟哒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值