学习java的第三天

第三天的学习

一、数据类型

1. 常用数据类型

  • 基本类型:整数类型、浮点类型、字符类型布尔类型

数值范围

  • 引用类型:类、接口、数组。

    注意点:

    • String 是类;
    • 所有字符的本质是数字
  • 定义long型数据时,数据结尾要加L

    • 定义float型数据时,数据结尾要加F

2.强制数据类型转换

  • 高精度转低精度时需要强制类型转换
double a=3.1415926;
int b=int (a);
  • 低精度转高精度会自动转化为高精度
int a=10;
double b=3.1415926;
double c=a+b;

注意强制转化时切莫内存溢出;

  • Java中可用 _来作为数字断开符(只是为了人能分辨,不影响编译)
int a=10_0000_1000;

二、Java运算符

1. Java运算符有哪些

2. Java运算符的优先级

三、标识符

四、Java命名规范

五、变量的作用域

  • 类变量:用static修饰,供所在类使用,与所在类同生共死。
  • 局部变量:只在所在的方法中有效,必须初始化,才可使用。
  • 实例变量:在类里面在方法外面,从属于对象。若不初始化,就为默认值。

实例

  • 常量:用final 来定义常量,一般用大写英文字母
final double PI = 3.1415926;

六、包

  • 用import引用其他包

  • 包的命名:com.company.www....

七、生成JavaDoc文档

八、scanner的运用

package com.huawei.www;

import java.util.Scanner;

public class Try {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入一段字符");

        if(scanner.hasNextLine()){
            String str = scanner.nextLine();
            System.out.println("得到的字符串为:");
            System.out.println(str);
        }
        scanner.close();
    }
}

注意:scanner.next()与scanner.nextLine()的区别。

前者遇到空格就停止输入,后者遇到Enter键才停止输入。

九、三大结构

  • 顺序结构
  • 选择结构
  • 循环结构

十、方法

类似于其他语言的函数。

public int add(int a,int b)
{
    return a+b; 
}

十一、重载

十二、命令行传参

十三、可变参数

无法确定参数个数时可用:

//必须是最后一个参数,才可用...表示后面不定个
    public void add(int i,int ...j)
    {
    }
//本质是数组

十四、递归

package com.huawei.www;

public class Demo10 {
    public static void main(String[] args) {
        System.out.println(f(5));
    }
    //计算n的阶乘
    public static int f(int n) {
        if(n==1)
            return 1;
        else return n*f(n-1);
    }
}

小型计算器:

package com.huawei.game;

import java.util.Scanner;

/**
 * @author P_KING
 * @version 1.0
 * @since 1.8
 */
public class counter {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
         do {
             System.out.println("请输入计算符号:");
             String Symbol=scanner.next();
            System.out.println("请输入要计算的两个数");
            int a=scanner.nextInt();
            int b=scanner.nextInt();
            switch (Symbol) {
                case "+":
                    System.out.println("a+b=" + (counter.add(a, b)));
                    break;
                case "-":
                    System.out.println("a-b=" + (counter.sub(a, b)));
                    break;
                case "*":
                    System.out.println("a*b=" + (counter.mul(a, b)));
                    break;
                case "/":
                    System.out.println("a/b=" + (counter.div(a, b)));
                    break;
                default:
                    System.out.println("输入的计算式不合法!");
                    break;

            }
             System.out.println("是否继续?");
        }while (scanner.next().equals("是"));
    }
        public static double add ( double a, double b)
        {
            return (a + b);
        }
        public static double sub ( double a, double b)
        {
            return (a - b);
        }
        public static double mul ( double a, double b)
        {
            return (a * b);
        }
        public static double div ( double a, double b)
        {
            return (a / b);
        }
}

posted @   P-KING  阅读(4)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示