JavaSE基础

本文详细介绍了Java的基础知识,包括转义字符的使用,如输出字符串和特殊符号;数据类型的分类,如基本数据类型和引用数据类型;变量的声明与赋值;各种运算符的规则,如算术、赋值、比较和逻辑运算符;以及流程控制语句,如if、switch和循环结构。此外,还提到了Eclipse的常用快捷键和数据类型转换方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转义字符

        //转义字符  \
        //1.输出“你好世界”
        System.out.println("\"你好世界\"");
        //2.输出\你好世界\
        System.out.println("\\你好世界\\");
        //3.换行符
        System.out.println("你好\n世界");
        //4.制表符
        System.out.println("你好\t世界\t你好\tJava");
 

运行结果:

"你好世界"
\你好世界\
你好
世界
你好	世界	你好	Java 

计算机中的存储单元

  • 最小的信息单位bit(比特
  • 最小的存储单位Byte(字节)
  • 两者之间的关系1Byte = 8bit
  • 汉字占用字节数2个字节

8bit = 1B
1024B = 1KB
1024KB = 1MB
1024MB = 1TB
1024TB = 1PB
1024PB = 1EB
1024EB = 1ZB

数据类型

基本数据类型

  • 四类八种基本数据类型
数据类型关键字内存大小取值范围
字节型byte1个字节1B-128~127 2^7-1
短整型short2个字节2B-32768~32767 2^15-1
整形Int4个字节4B21开头的十位数 2^31-1
长整型long8个字节8B92开头的19位数 2^63-1
单精度浮点数float4个字节-1.4013E-45~3.4028E+38
双精度浮点数double8个字节8B4.9E-324~1.7977E+308
字符型char2个字节2B0~65535
布尔类型boolean1个字节1Btrue、false

备注:java中的默认的基本数据类型:整数类型为int,浮点型为double

package com.ligong.basic;

public class BasicDataType {
    public static void main(String[] args){
        //整形
        System.out.println(getType(123));
        //长整型
        System.out.println(getType(123456789L));
        //双精度浮点数
        System.out.println(getType(3.5));
        //单精度浮点数
        System.out.println(getType(3.5f));
    }
    //获取对应数据的类型
    public static String getType(Object o){
        String type = o.getClass().toString();
        return type;
    }
}

运行结果:

class java.lang.Integer
class java.lang.Long
class java.lang.Double
class java.lang.Float

引用数据类型

  • 数组
  • 接口
  • 字符串

变量

  • 定义变量
  • 给变量赋值
  • 定义并赋值
  • 一般建议定义时赋值
  • 注意
    *变量没有赋值是不能使用的
    *变量的作用域问题
    *变量的重复定义

运算符

算术运算符

运算符运算规则范例结果
+正号+33
+加法1+34
+字符串连接“中”+“国”“中国”
-负号int a=3;-a-3
-3-12
*2*816
/5/22
%取模5/21
++自增int a=1;a++/++a2
(两个减号)自减int b=3;a-/-a2
  • 加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串
  • 除法“/”当两边为整数时
package com.ligong.basic;

public class CountOperator {
    public static void main(String[] args){
        //正号
        System.out.println(+3);
        //加法
        System.out.println(1+3);
        //字符串连接
        String a = "今天周五";
        String b = "放假了";
        System.out.println(a+b);
        //减法
        System.out.println(3-1);

        String c = "阿斯蒂芬";
        int d = 438;
        System.out.println(c+d);
        //除法
        int m = 5;
        int n = 2;
        double x=m/n;
        System.out.println(x);
        System.out.println(m/n);
        //乘法
        System.out.println(m*n);
    }
}

运行结果:

3
4
今天周五放假了
2
阿斯蒂芬438
2.0
2
10

赋值运算符

运算符运算规则范例结果
=赋值int a=22
+=加后赋值int a=2,a+=24
-=减后赋值int a=2,a-=20
*=乘后赋值int a=2,a*=24
/=整除后赋值int a=2,a/=21
%=取模后赋值int a=2,a%=20

比较运算符

运算符运算规则范例结果
==相等于4==3false
!=不等于4!=3true
<小于4<3false
>大于4>3true
<=小于等于4<=3false
>=大约等于4>=3true

逻辑运算符

运算符运算规则范例结果
!trueflase
&&短路与false&&truefalse
II短路或false II truetrue
  • 语法格式:
    *boolean r = 布尔表达式1 逻辑运算符(&;|;!…) 布尔表达式2
    1)逻辑运算符运算结果是布尔类型
    2)布尔表达式:是指运算结果是布尔值的式子
  • &与/和(and)
    只有&两边的表达式的值都是true 整体结果才是true,其他都是false
    全真都真,一假就假
  • | 或
    只有| 两边的表达式的值都是false 整体结果才是false,其他都是true
    全假才假,一真就真
  • ! 非/取反
    非错即对
  • && 短路与
    因为&是一错就错,所以当&&前已经是false时,那么就可以确定整体表达式的结果false
    后续的表达式就不再执行了
  • || 短路或
    与上类似
  • ===>
    只要第一个表达式的结果能确定整体表达式的结果,后面表达式就短路不执行
 boolean r1 = 1>0 && 2<0;//短路与 假
        boolean r2 = 2<0 || 1>0;//短路或 真
        boolean r3 = 1>0 & 2<0;
        boolean r4 = 2<0 | 1>0;
        System.out.println(r1);
        System.out.println(r2);
        System.out.println(r3);
        System.out.println(r4);
        System.out.println((1 < 0 || 1/1==1)&&(1>0||1/0==1));
        //1.先判断两个小括号里true/false 
        //2.第一个小括号:1<0为假 1 / 1 == 1为真 ==> 第一个小括号结果为true
        //3.第二个括号:1>0为true 因为短路或一真为真 后面的不做判断被短路 ==> true
        //4.小括号1:true 小括号2:true ==> true

运行结果:

false
true
false
true
true

进程已结束,退出代码 0

位运算符

运算符运算规则范例结果
&1&0,0&0,1&10,0,1
I1I0,0I0,1I11,0,1
^异或1^ 0,0^ 0,1^11,0,0
  • ^运算规律
    *10=1,00=0,任何数和0相异或得到的是这个数本身
    *0^ 1=1, 1^1=0,任何数和1相异或得到的是这个数的相反
    *一个数自己和自己异或得到的是0

三目/三元运算:

  • 数据类型 变量 = 布尔表达式 ?当前面结果是true时执行此处;当前面结果是false时执行此处;
  • 数据类型 变量 = A ? B : C;
    1)先执行A处的布尔运算,得到一个布尔值
    2)当布尔值是true时,执行B处的代码
    3)当布尔值是false时,执行C处的代码
    4)整体结果的数据类型根据执行B处或者·C处的代码的结果而定
    5)B处和C处的结果数据类型一致

语句:

分支语句 - if语句

  • 语法:
    if(布尔表达式){
    语句1;
    语句2;

    }
  • 执行流程:
    1.先判断布尔表达式
    2.如果结果是true,就执行if后的{}内的语句,然后继续执行后续的
    3.如果结果是false,就跳过if后的{}而是执行后续的代码

双分支- if…else…

  • 布尔结果是true执行if语句跳过else
  • 布尔结果是false时,不执行if,执行else后的语句

选择语句 - switch case语句

  • 语法:
    switch(值){
    case 值1:
    语句1;
    break;
    case 值2;
    语句2;
    break;

    case 值n:
    语句n;
    break;
    default:
    语句n+1;
    }
  • 执行流程:
    1)switch后的值,与case后的值比较
    2)如果相等,就执行改case下的语句
    3)如果遇到break,跳出switch结构,执行后续
    4)如果没有break,会造成case击穿
    5)如果不相等,比对下一个case
    6)…
    7)如果没有一个case比对成,那么会执行default中的语句
    8)switch后支持byte short int char String enum(枚举)
    9)case后的值的数据类型要与switch的值数据类型一致

循环语句

  • 循环四要素:
    1)循环初始值
    2)循环控制条件
    3)循环体
    4)循环迭代
int i =1;	//1
while (i < 6){	//2
	System.out.println("你好");	//3
	i++;	//4
}

while循环

  • 语法:
    while (布尔表达式){
    循环体;
    循环迭代;(++ / --)–>控制循环次数
    }
  • 执行流程:
    1)先判断while后的表达式
    2)如果是true,就行{}内的语句
    3)执行完{}内语句,再次判断while后的表达式
    4)当while后的结果是false就不再执行{}内的内容
    5)继续执行后续
public static void main(String[] args){
        //输出五句你好
        int a= 1;
        while(a<6){
            System.out.println("你好");
            a++;
        }
        System.out.println("a = "+a);
        //输出1-10
        int b =1;
        while(b<=10){
            System.out.println(b);
            b++;
        }
        //输出10-1
        int c = 10;
        while(c>=1){
            System.out.println(c);
            c--;
        }
        //分别输出1-100中的奇数/偶数
        int i = 1;
        while (i<=100){
            if(i%2==0){
                System.out.println("偶数"+i);
            }else{
                System.out.println("奇数"+i);
            }
            i++;
        }
        
    }

while:先判断,后执行

do while循环–>直到型

  • 语法:先执行后判断
    do{
    循环体;
    迭代
    }while(布尔表达式);
    1)先执行do中的循环内容
    2)判断while后的表达式
    3)表达式为true,再执行do中内容
    4)在判断。。
    5)直到判断为false时,跳过循环,执行后续
    6)do-while至少执行一次
public static void main(String[] args){
        //求1-100的和
        int a = 0;
        int b = 1;
        do {
            a += b;
            b++;
        }while(b<101);
        System.out.println(a);
    }

for循环

在这里插入图片描述
for(初始值;控制条件;迭代){
循环体;
}

  • 变量名:在同一作用域内不能重复
  • 变量在这一范围内有效
  • 同一作用域:在同一个最近的{}内
    1)限制性初始值1处,且只执行一次
    2)开始2处判断,如果为true,就向下执行循环体
    3)执行完后,执行迭代
    4)继续判断,如果判断为false,就跳出for结构,执行后续
public static void main(String[] args) {
        for (int i = 10;i >= 1;i--){
            System.out.println(i+"");
        }
    }

——————————————————————————

eclipse快捷键

ctrl + d:删除整行
alt + 方向上(下)键:整行向上(下)移动
ctrl + alt + L 自动对齐代码
ctrl + alt + 方向下键:向下复制一行代码

基本数据类型转换

  • 自动转换范围小的可以向范围大的进行转换:byte < short < int < long < floa < double
  • 强制转换范围大的向范围小的进行转换,需要强制类型转换:小范围数据类型 标识符 = (小范围数据类型)变量名称;
 //强制转换
        double a = 1.23;
        int c = (int) a;
        System.out.println(c);

运行结果:

1

进程已结束,退出代码 0

int和char类型数据转换

  • char转换成int,字符型和数值型进行转换的时候都会直 询编码表,由于int4个字节,char2个字节,所以属于自动的 类型转换
  • int转换成char,需要强制类型转换
  • 如果char是汉字,转换成整数查询的就是Unicode编码表
  • char类型的最大整数是65535,因为char没有负数
  • char可以直接赋值为Unicode编码,格式为luxox,十六 进制

ASCII表

在这里插入图片描述

  • 字符0~9:对应(48-57),A-Z对应(65-90),a-z对应(97-122)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值