二、java的基本程序设计结构1

1、注释

多行注释
单行注释

/**
 * @description: HelloWorld类
 * @author: 大橘为重yo
 * @date: 2020-04-26 13:18
 */
public class HelloWorld {
    /**
     * 主函数
     * @param args 参数
     */
    public static void main(String[] args){
        //输出Hello world!
        System.out.println("Hello world!");
    }
}

2、数据类型

2.1 整型
类型存储需求应用场景
int4字节通常情况下 int型比较常用
short2字节用于特殊场景
long8字节数据较大,如表示星球上的人数时,用long类型
byte1字节用于特殊场景 如:占用存储空间量的大数组
2.2 浮点类型
  • double表示这种类型的数值精度是float类型的两倍(双精度数值)。绝大部分应用程序都使用double类型;float在多数情况下不能满足需求,只有少数情况会使用到float类型(如:3.14F),例如,需要快速处理单精度数据
  • float类型数值后有一个后缀F,如果没有后缀F的浮点数值默认为double类型的
类型存储需求
float4字节
double8字节

三个特殊的浮点数值

正无穷大 Double.POSITIVE_INFINITY 如:一个正整数除以0的结果为正无穷大
负无穷大 Double.NEGATIVE_INFINITY
NaN(不是一个数字)Double.NaN 如:计算0/0或者负数的平方根结果为NaN

2.3 字符类型 (char)

char类型用于表示单个字符,通常用来表示字符常量
下面是一些特殊字符的转义序列符:

转义序列名称Unicode值
\b退格\u008
\t制表\u009
\n换行\u00a
\r回车\u00d
\"双引号\u0022
\’单引号\u0027
\\反斜杠\u005c
2.4 boolean类型

boolean类型有两个值:false和true,用来判断逻辑条件。整型值和布尔值之间不能进行相互转换

3、变量

3.1 变量声明

类型 变量名 ; eg: boolean flag;

3.2 变量初始化

声明一个变量后,必须用赋值语句对变量进行显示初始化,千万不要使用未被初始化的变量
eg: 变量初始化: int week = 7;

3.3 常量

在Java中,利用关键字final指示常量,例如:
final double PAI = 3.14;
final int week = 7;
关键字final表示这个变量只能被赋值一次。一旦被赋值之后,就不能再改变了

4、运算符

4.1 加减乘除 + - * /
4.2 自增、自减运算符

//++ 在前面就是先+1,再运算++ 在后面就是先运算,再+1; --同理
int a = 7;
int b = 7;
int x = 2 * ++ a; //此时,x = 16, a = 8
int y = 2 * b++; //此时,y = 14, b = 8

4.3 关系运算符与boolean运算符

== 是否相等
!= 是否不等
大于 >、小于 <、大于等于 >=、小于等于 <=
&& 与
|| 或
三元运算符

4.4 位运算符

& 与 (&与&&的区别:a && b 如果a为false,则不用看b,结果直接为false;a & b 不管a结果是什么,都要看b,再得到最后结果)
| 或 (| 与 || 的区别同上,a || b 如果a为true,则不用看b,结果直接为true;a | b不过a结果是什么,都要看b,再得到最后结果)
^ 异或
~ 非
<< 左移 ; >> 右移 (>>>用0填充高位, >>符号位填充高位,没有<<<运算符)

4.5 数学函数与常量

在Math类中,包含各种各样的数学函数
eg:想要计算一个数值的平方根,可以使用sqrt方法:
double x = 4;
double y = Math.sqrt(x);
System.out.println(y); //输出结果2.0

4.6 数值类型之间的转换

在这里插入图片描述

4.7 枚举类型

有时候变量的取值只在一个有限的集合内,例如销售的服装大小只有 小、中、大、超大这四种尺码,针对这种情况,我们就可以定义一个枚举类型来存储

/**
 * @description: 服装尺码枚举类
 * @author: 大橘
 * @date: 2020-04-26 16:27
 */
public enum Tshit {
    /**
     * S码
     */
    SMALL(160, 'S'),
    /**
     * M码
     */
    MEDIUM(165, 'M'),
    /**
     * L码
     */
    LARGE(170, 'L'),
    /**
     * X码
     */
    EXTRE_LARGE(175, 'X');
    private int size;
    private char flag;

    Tshit(int size, char flag){
        this.size = size;
        this.flag = flag;
    }
}

5、字符串

5.1 子串

String的substring方法提取子字符串,例如:
String greeting = “Hello”;
String s = greeting.substring(0, 3); //从0开始,直到3为止,但不包含3
System.out.println(s); //输出:Hel

5.2 拼接

java语言允许使用+号连接,例如:
String s1 = “hello”;
String s2 = “world”;
String str1 = s1 + s2; //helloworld
String str2 = s1 + 123; //hello123

5.3 不可变字符串

String 类是不可变字符串,可以通过拆解再拼接的方式改变字符串,例如:
String str = “Hello”; //改为“Help”;
String sub = str.substring(0,3); //“Hel”
String str = sub + “p”; //“Help”

5.4 检测字符串是否相等

1、使用.equals()方法(区分大小写),例如:
“Hello”.equals(“helle”); //false
2、使用.equalsIgnoreCase()方法(不区分大小写),例如:
“Hello”.equalsIgnoreCase(“hello”); //true

5.5 空串与Null串

空串""是长度为0的字符串,可以调用以下代码检查一个字符串是否为空:

if (str.length == 0) //str为空
if (str.equals("")) //str为空

检查一个字符串是否为null:

if (str == null) //str为null

检查一个字符串既不为空也不为Null:

if (str != null && str.length != 0) //str既不为空也不为Null

5.6 字符串API
public class StringAPIDemo {
    public static void main(String[] args){
        String str1 = "hello";
        String str2 = "world";
        //通过角标获取字符
        char c = str1.charAt(1); //e  
        //判断两个字符串是否相等
        boolean flag = str1.equals(str2); //false 
        //判断str1是否包含"he"
        boolean contains = str1.contains("he"); //true 
        //返回指定位置的代码点
        int i = str1.codePointAt(1); //101  
        //比较两个字符串
        int compare = str1.compareTo(str2); // -15 
        //判断str1是否以字符串"o"结束
        boolean o = str1.endsWith("o"); // true 
        //str1与'e'匹配的第一个字符索引
        int e = str1.indexOf('e'); //1 
        //str1与"ell"匹配的第一个字符索引
        int ell = str1.indexOf("ell"); //1  
        //str1从索引0到2(不包括2)返回一个新字符串
        String substring = str1.substring(0, 2); //he  
        //str1全部改为大写
        String s = str1.toUpperCase(); //HELLO  
        //...
    }
}
5.7 StringBuilder API
public class StringBuilderDemo {
    public static void main(String[] args){
        //构建一个空的字符串构建器
        StringBuilder builder = new StringBuilder();
        //追加一个字符串并返回
        StringBuilder builder1 = builder.append("hello"); // hello
        //追加一个字符并返回
        StringBuilder builder2 = builder1.append('!');  // hello!
        //将索引为0的字符改为'H'
        builder2.setCharAt(0, 'H');
        System.out.println(builder2); //Hello!
        //在索引为1 的位置追加字符串"33333"
        StringBuilder builder3 = builder2.insert(1, "33333"); //H33333ello!
        //删除索引1到6(不包含6)的字符
        StringBuilder builder4 = builder3.delete(1, 6); //Hello!
        //返回构建器的长度
        int length = builder4.length(); //6
        //转化为字符串
        String s = builder4.toString(); //Hello!
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值