JavaSE基础篇

转义字符

package com.ligong.basic;

public class Helloworld {
    public static void main(String[]args){
        //转义字符 \
        //1.输出带引号的“你好世界”
        System.out.print("\"你好世界\"");
        //2.输出\你好世界\
        System.out.println("\\你好世界\\");
       //3.换行
        System.out.println("你好世\n界");
        //4.制表符
        System.out.println("你好\t世界\t你好\tjava");

    }
}

运行结果

"你好世界"
\你好世界\
你好世
界
你好	世界	你好	java

计算机中的存储单元

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

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

基本数据类型

  1. 四类八种
数据类型关键字内存大小取值范围
字节型byte1个字节(1B)-128~127 2^7-1
短整型short2个字节(2B)-32768~32767 2^15-1
整型int4个字节(4B)21开头的十位数 2^31-1
长整型long8个字节(8B)92开头的19位数 2^63-1
单精度的浮点数float4个字节(4B)-1.4013E-45~3.4028E+38
双精度浮点数double8个字节(8B)4.9E-324~1.7977E+308
字符型char2个字节(2B)0~65535
布尔类型boolean1个字节(1B)true,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(127871988129831L));
        //双精度浮点数
        System.out.println(getType(3.14));
        //单精度浮点数
        System.out.println(getType(3.14f));
        //
        int a=3;
        System.out.println(getType(a));
        String b=""+a;
        System.out.println(getType(b));
    }
    // 获取对应数据的类型
    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
class java.lang.Integer
class java.lang.Stringt

变量

  • 定义变量
  • 给变量赋值
  • 定义并赋值
  • 一般建议定义时并赋值

注意

  • 变量没有赋值是不能使用的
  • 变量的作用域问题
  • 变量的重复定义

运算符

算术运算符

运算符运算规则范例结果
+正号+33
+加法1+34
+字符串连接“中”+“国”“中国”
-负号int a=3;-a-3
-3-12
*2*36
/5/22
%取模5/21
++自增int a=1;a++/++a2
–(两个减号)自减int =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);
        //负号
        int k =3;
        System.out.println(-k);
        //减法
        System.out.println(3-1);
//        String c="晚上吃什么饭";
//        int d=4;
//        System.out.println(c+d);
        //乘法
        int h=2;
        int j=3;
        System.out.println(h*j);
        //除法
        int c=5;
        int d=2;
        System.out.println(c/d);
        double x=c/d;
        System.out.println(x);
    }
}

运算结果:

3
4
今天周五今天放假
-3
2
6
2
2.0

赋值运算符

运算符运算规则范例结果
=赋值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) false&true false
    只有&两边的表达式的值都是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
运算符运算规则范例结果
&1&0,0&0,1&10,0,1
I1I0.0I0,1I11,0,1
^异或10,00,1^11,0,0
  • ^运算规律
    10=1,00=0,任何数和0相异或得到的是这个数本身
    01=1,11=0,任何数和1相异,或得到是这个数的相反数
    一个数自己和自己异或得到的是0

三目/三元运算

  • 数据类型 变量= 布尔表达式 ? 当前面结果是true是执行此处;当前面结果是false时执行此处;
  • 数据类型 变量 = A ? B : C;

1.先执行A处的布尔运算,得到一个布尔值
2.当布尔值是true时,执行B处代码
3.当布尔值是false时,执行C处代码
4.整体结果的数据类型根据执行B处或者C处代码的结果方式
5.B处和C处的结果数据类型一致

package com.ligong.basic;

public class score {
    public static void main(String[] args) {
        int c=110;
        int d=180;
        int e=1100;
        int f=c > d ? (c>e ? c:e) : (d>e ? d:e);
        System.out.println(f);
    }
}

运行结果:

1100

分支语句-if语句

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

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

双分支 - if…else…

if (布尔表达式){
当布尔表达式值是true,执行if后的语句:
且不执行else中的语句 布尔结果:true 执行if中语句 跳过else
}else{
当布尔表达式值是false是,不执行if后的
而是执行else后的语句,布尔结果是false 执行else语句,不执行if

if(布尔表达式2){
else if(布尔表达式2){
	语句2;
}else if(布尔表达式3){
	语句3;
}...{
	语句n
}else{
	语句n+1;
}
}
  • 一旦有某个语句了,后续的if…else将不再执行

选择语句,Switch case语句

switch(){
case1:
	语句1;
	break;
case2;
	语句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中的语句-

  • switch后支持byte shart int char String enum(枚举)
  • case后的值的数据类型要与switch的值数据类型一致,case值后是冒号!**

循环4要素

1.循环初始值
2.循环控制条件
3.循环体
4.循环迭代

while循环

-语法:
while(布尔表达式){
循环体;
循环迭代;(++ / --) -->控制循环次数
}

*执行流程:
1.先判断while后的表达式
2.如果是true,就执行{}内的语句
3.执行完{}内的语句,再次判断while后的表达式
4.当while后的结果是false就不再执行{}内的内容
5.继续执行后续

int i = 1;	//1
while (i < 6){	//2
	System,out.println("你好");	//3
	i++;	//4
}

while:先判断,后执行

  1. do while循环==>直到型
  2. 语法:先执行后判断
    do{
    循环体;
    迭代
    }while(布尔表达式);

1.先执行do中的循环内容
2.判断while后的表达式
3.表达式为true,在执行do中的内容
4.在判断…
5.直到false时,跳过循环,执行后续

do while至少循环一次

//输出1-10
int i = 1;
do{
	System.out.println(i);
	i++;
}while(i<=10);

for循环

for(初始值;控制条件;迭代){
循环体;
}


变量名:在同一作用域内不能重复
变量在这一范围内有效.
同一作用域:在同一个最近的{}内
11
在这里插入图片描述

  1. 先执行初始值1处且执行一次
  2. 开始2处判断,如果为true,就向下执行循环体
  3. 执行完成后,执行迭代
  4. 继续判断,如果判断为false,就跳出for结构,执行后续

eclipse好用的快捷键:

1. alt+方向上键(移动代码向上移动)
2. Ctrl+D(删除整行)
3. Ctrl+Alt+方向下键(向下复制一行代码)
4. Ctrl+Alt+L(将代码全部对齐)

基本数据类型的转换

  • 自动转换 范围小的可以向范围大的进行转换 byte<short<int<long<floa<double

  • 强制转换 范围大的向小的进行转换,需要强制类型转换 小范围数据类型 标识语 = (小范围数据类型) 变量名称;

ASCII

在这里插入图片描述

  • 字符0~9:对应(48-57),A-Z对应(65-90),a-z对应(97-122)

int和char类型数据转换

  • char转换成int,字符型和数值型进行转换的时候都会直 询编码表,由于int4个字节,char2个字节,所以属于自动的 类型转换
  • int转换成char,需要强制类型转换
  • 如果char是汉字,转换成整数查询的就是Unicode编码表
  • char类型的最大整数是65535,因为char没有负数
  • char可以直接赋值为Unicode编码,格式为luxox,十六 进制
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值