java学习记录day2

群晖NAS实战:从零部署Container Manager与Docker代理配置全攻略 本文详细介绍了在群晖NAS上从零部署Container Manager与配置Docker代理的完整流程。针对国内用户常见的镜像拉取问题,提供了图形化界面与SSH命令行两种解决方案,并分享了MySQL容器部署的实战案例。文章特别强调了网络配置技巧和日常维护方法,帮助用户高效管理NAS上的容器应用。 阅读详情

1.class关键字

public公共
对方法的封装,有private,protected,public三种访问权限
static静态
静态变量和方法,可以直接通过类名调用,而不需要创建对象,不属于对象
栈、堆、静态方法区(静态属性和方法,只加载一次,属于类)
通过堆内存和静态方法区实现静态变量和方法的共享
成员属性和成员方法属于对象,对象创建后,才会占用堆内存
void无返回值
main主函数
String字符串 String[]字符串数组
System系统类

2.实例化对象或创建对象

类名 对象名 = new 类名(参数);
静态方法调用示例
    class Hello{
        public static void sayHello(){
            System.out.println("Hello World!");
        }
        public static void main(String[] args){
            System.out.println("main方法");
            Hello.sayHello();
        }
    }

3.数据类型

基本数据类型:byte(范围-128~127) short int long float double boolean char

包装类:Byte Short Integer Long Float Double Boolean Character

基本数据类型和包装类之间的转换:自动类型转换

任务:获取八种数据类型的范围(通过包装类)

public class DataTypeRanges {
    public static void main(String[] args) {
        // byte
        System.out.println("byte Min Value: " + Byte.MIN_VALUE);
        System.out.println("byte Max Value: " + Byte.MAX_VALUE);
        // short
        System.out.println("short Min Value: " + Short.MIN_VALUE);
        System.out.println("short Max Value: " + Short.MAX_VALUE);
        // int
        System.out.println("int Min Value: " + Integer.MIN_VALUE);
        System.out.println("int Max Value: " + Integer.MAX_VALUE);
        // long
        System.out.println("long Min Value: " + Long.MIN_VALUE);
        System.out.println("long Max Value: " + Long.MAX_VALUE);
        // float
        System.out.println("float Min Value: " + Float.MIN_VALUE);
        System.out.println("float Max Value: " + Float.MAX_VALUE);
        // double
        System.out.println("double Min Value: " + Double.MIN_VALUE);
        System.out.println("double Max Value: " + Double.MAX_VALUE);
        // char (cast to int to print as numbers)
        System.out.println("char Min Value: " + (int) Character.MIN_VALUE);
        System.out.println("char Max Value: " + (int) Character.MAX_VALUE);
        // boolean (no specific range constants)
        System.out.println("boolean values: true or false");
    }
}

引用数据类型:类、接口、数组

字符串 数组 对象

示例

class Hello{
    public static void main(String[] args){
        byte a=1;
        byte b=2;
        byte c=a+b;
        System.out.println(c);
    }

以上代码会报错,因为byte类型不能进行运算,需要使用int类型进行运算;同时,byte类型变量的范围是-128~127,所以java对byte类型变量进行运算时,会自动转换为int类型,byte+byte返回值默认是int类型。应该纠正为:

byte c=(byte)(a+b);

或者

int c=a+b;

4.java基本语法

if else

int a=10;
if(a<15){
    //执行的代码
    }
else if(a<20){
    //执行的代码
    }
else{   
    //执行的代码
}

for循环

for(int i=0;i<10;i++){
    //执行的代码
}

while循环

int i=0;
while(i<10){
    //执行的代码
    i++;
}

do-while循环

int i=0;
do{
    //执行的代码
    i++;
}while(i<10);

switch语句

int a=10;
switch(a){
    case 10:
        //执行的代码
        break;
    case 20:
        //执行的代码
        break;
    default:
        //执行的代码
}

练习

输入三个数,判断是否是三角形

public class Triangle {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("请输入三角形的三条边长:" );
        int a = in.nextInt();
        int b = in.nextInt();
        int c = in.nextInt();
        if (a + b > c || b + c > a || c + a > b) {
            System.out.println("这是一个三角形");
            if(a*a + b*b == c*c || b*b + c*c == a*a || c*c + a*a == b*b){
                System.out.println("这是一个直角三角形");
            }
            else if(a==b && b==c){
                System.out.println("这是一个等边三角形");
            }
            else if(a==b || b==c || c==a){
                System.out.println("这是一个等腰三角形");
            }
        } else {
            System.out.println("这不是一个三角形");
        }
    }

荷叶问题

public class Food {
        public static void main(String[] args) {
            int[] foodnumber = new int[10];
            foodnumber[9] = 1;
            for(int i=1;i<10;i++){
                foodnumber[10-i-1] = (foodnumber[10-i]+1)*2;
                System.out.println("第"+(10-i)+"天剩下"+foodnumber[10-i-1]+"个馒头");
            }
            int foodsum = (foodnumber[0]+1)*2;
            System.out.println("原来共"+foodsum+"个馒头");
        }
}

位运算

十进制转化成八进制、二进制、十六进制

import java.util.Scanner;

public class DecimalToBinary {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("请输入一个十进制数:"); // 十进制数:10
        int decimal = in.nextInt();
        boolean flag=true;
        while(flag){
            System.out.println("请选择需要转化的进制(1for八进制,2for二进制,3for十六进制,0for退出):" );
            int choice = in.nextInt();
            if (choice == 1) {
                System.out.println("八进制数:" + toOctal(decimal)); // 八进制数:12
            } else if (choice == 2) {
                System.out.println("二进制数:" + toBinary(decimal)); // 二进制数:1010
            } else if (choice == 3) {
                System.out.println("十六进制数:" + toHex(decimal)); // 十六进制数:a
            } else {
                System.out.println("退出程序");
                flag=false;
            }
        }
    }
    public static String toOctal(int decimal) {
        StringBuilder result = new StringBuilder();
        while (decimal > 0) {
            int remainder = decimal & 7; // 取最低三位,即对8取余
            result.insert(0, remainder);
            decimal >>= 3; // 右移3位,相当于除以8
        }
        return result.toString();
    }

    public static String toBinary(int decimal) {
        StringBuilder result = new StringBuilder();
        while (decimal > 0) {
            int remainder = decimal & 1; // 取最低位,即对2取余
            result.insert(0, remainder);
            decimal >>= 1; // 右移1位,相当于除以2
        }
        return result.toString();
    }

    public static String toHex(int decimal) {
        StringBuilder result = new StringBuilder();
        while (decimal > 0) {
            int remainder = decimal & 15; // 取最低四位,即对16取余
            if (remainder < 10) {
                result.insert(0, remainder);
            } else {
                result.insert(0, (char) ('a' + (remainder - 10)));
            }
            decimal >>= 4; // 右移4位,相当于除以16
        }
        return result.toString();
    }
}

5.集成开发环境

下载开发工具:IntelliJ IDEA Community Edition
IDEA、Eclipse、NetBeans
创建project,module,package
idea快捷键:
psvm创建主函数;sout输出

6.java数组

类名称 数组名称[] = new 类名称[数组长度];
或者 类名称[] 数组名称 = new 类名称[]{值1,值2,值3};

练习

 import java.util.Scanner;

public class Array {
    public static void main(String[] args) {
        System.out.printf("请输入数组个数:");
        Scanner input = new Scanner(System.in);
        int num = input.nextInt();
        System.out.println("请输入数组的"+num+"个值");
        int[] arr = new int[num];
        for (int i = 0; i < num; i++) {
            arr[i] = input.nextInt();
        }
        System.out.println("已经接收到所有结果!");
        // 计算数组总和
        int sum = calculateSum(arr);
        System.out.println("数组总和为:" + sum);

        // 计算数组最大值和最小值
        int max = findMax(arr);
        int min = findMin(arr);
        System.out.println("数组最大值为:" + max);
        System.out.println("数组最小值为:" + min);

        // 统计数组中的奇数个数
        int oddCount = countOddNumbers(arr);
        System.out.println("数组中奇数的个数为:" + oddCount);

        //排序
        System.out.println("排序结果为:");
        sort(arr);
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
    public static int calculateSum(int[] arr) {
        int sum = 0;
        for (int num : arr) {
            sum += num;
        }
        return sum;
    }

    // 查找数组中的最大值
    public static int findMax(int[] arr) {
        int max = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
            }
        }
        return max;
    }

    // 查找数组中的最小值
    public static int findMin(int[] arr) {
        int min = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] < min) {
                min = arr[i];
            }
        }
        return min;
    }

    // 统计数组中的奇数个数
    public static int countOddNumbers(int[] arr) {
        int count = 0;
        for (int num : arr) {
            if (num % 2 != 0) {
                count++;
            }
        }
        return count;
    }

    //给数组排序
    public static void sort(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[i] > arr[j]) {
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }
    }
}


7.成员方法和类方法

类方法:static修饰的方法,属于类,不属于对象,可以直接通过类名调用,不用创建对象

示例:

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

    public static void main(String[] args) {
        int result = Math.add(10, 20);
        System.out.println("10 + 20 = " + result);
    }
}

成员方法:非static修饰的方法,属于对象,需要创建对象后调用

示例:

public class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public void sayHello() {
        System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");
    }

    public static void main(String[] args) {
        Person person = new Person("Tom", 20);
        person.sayHello();
    }
}

练习

public class PrimeNumbers {

    public static void main(String[] args) {
        System.out.println("100以内的质数有:");
        printPrimeNumbers(100);
    }

    // 输出指定范围内的所有质数
    public static void printPrimeNumbers(int max) {
        for (int num = 2; num <= max; num++) {
            if (isPrime(num)) {
                System.out.print(num + " ");
            }
        }
        System.out.println(); // 换行
    }

    // 判断一个数是否为质数
    public static boolean isPrime(int num) {
        if (num <= 1) {
            return false;
        }
        if (num == 2) {
            return true;
        }
        if (num % 2 == 0) {
            return false;
        }
        for (int i = 3; i <= Math.sqrt(num); i += 2) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }
}

输出100以内的斐波那契数列

public class FibonacciNumbers {

    public static void main(String[] args) {
        System.out.println("100以内的斐波那契数列:");
        printFibonacciNumbers(100);
    }

    // 输出100以内的斐波那契数列
    public static void printFibonacciNumbers(int max) {
        int a = 1, b = 1;
        System.out.print(a + " " + b + " ");

        while (true) {
            int next = a + b;
            if (next > max) {
                break;
            }
            System.out.print(next + " ");
            a = b;
            b = next;
        }
        System.out.println(); // 换行
    }
}

打印形状

import java.util.Scanner;

public class Draw
{
    public static void drawing(char ch,int x){
        for(int i=1;i<x+1;i++){
            for(int j=0;j<i;j++) System.out.print(ch);
            System.out.println();
        }
        for(int i=x;i>0;i--){
            for(int j=0;j<i;j++) System.out.print(ch);
            System.out.println();
        }
        for(int i=x;i>0;i--){
            for(int j=0;j<i;j++) System.out.print(' ');
            for(int j=0;j<x-i+1;j++) System.out.print(ch);
            System.out.println();
        }
        for(int i=0;i<x;i++){
            for(int j=0;j<i+1;j++) System.out.print(' ');
            for(int j=0;j<x-i;j++) System.out.print(ch);
            System.out.println();
        }
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.printf("请输入你想输入的字母:");
        char ch = sc.next().charAt(0);
        System.out.printf("请输入你要打印的形状的深度:");
        int x = sc.nextInt();
        drawing(ch,x);
    }
}

查找字符串在子串中出现的次数

public class SubstringCount {

8.面向对象

类:模板,描述对象的属性和行为

对象:类的实例,具有类的所有属性和行为

实例变量:对象拥有的变量,用于存储对象的状态信息

10.28华为OD机试真题 新系统 - 社交网络消息转发 (Java/Py/C/C++/Js/Go) 10.28华为OD机试真题 新系统 - 社交网络消息转发 (Java/Py/C/C++/Js/Go) 阅读详情

相关推荐

IAR9.30以上版本安装、注册、新建工程和配置过程详细介绍

IAR 一般是指一款嵌入式软件的集成开发环境,类似于 MDK-Keil 这款软件。IAR 对于不同的内核处理器,是对应不同的 IAR 软件的,IAR 到目前为止支持大部分的MCU,比如8051系列、ARM架构系列、MSP430系列、AVR系列等等这些常用的芯片架构。对于 ARM 架构的芯片,有对应的 IAR Embedded Workbench for ARM 软件平台,因为我主要是使用 ARM 架构芯片,下面安装、注册和使用都是基于这个版本进行介绍的。

luobeihai的博客 6万+

记录Java学习day2

Java内部类的定义、访问特点和分类。内部类分为成员内部类、静态内部类、局部内部类和匿名内部类。重点讲解了成员内部类的访问规则和创建方法,以及如何调用外部类数据。静态内部类只能访问外部类的静态成员,创建格式为"外部类名.内部类名"。局部内部类在方法内定义,匿名内部类则隐藏了类名,常用于实现接口或继承类。文章通过实例说明了各种内部类的使用场景和注意事项,包括访问权限、创建方式和调用规则等。

2503_91584192的博客 906

用Docker-Compose三节点部署生产级Doris集群:从配置文件到故障转移

本文详细介绍了如何使用Docker-Compose部署一个生产级的三节点Apache Doris集群。内容涵盖从核心架构理解、配置文件编写到集群初始化验证的全过程,并重点讲解了如何实现高可用、数据持久化、健康检查以及故障转移等生产级运维关键点,为中小团队提供了一种在容器化便利性与系统稳定性间取得平衡的可靠部署方案。

kkk56的博客 856

JAVA 学习记录DAY 2

今天记录一下开发工具IDEA的安装和破解方法(破解不可用于商业通途,否则将承担法律责任)。再记录一下用记事本和IDEA开发的范例。 1)IDEA的安装 首先,下载IDEA的安装包破解版。压缩包应该包括四个文件,分别是下图所示的四个(在任意一个文件夹的查看栏把【文件扩展名】✔之后,就可以看见.vmoptions后缀了) 下载之后,解压缩,点击应用程序安装文件,开始安装。下图中彩色图标的.exe文件就是安装文件。另外三个文件不要删掉,后面要用。 安装路径依然不建议选择C盘,但是因为本人...

Alison_zhou的博客 159

[技术解析] SGDC驱动的轻量级IoT入侵检测:特征选择与模型优化的实战指南

本文深入解析了如何利用SGDC驱动的轻量级入侵检测系统保护IoT设备安全。通过实战指南,详细阐述了SGDC模型在资源受限环境下的优势,并结合特征选择技术优化模型性能,实现高效、低耗的异常流量检测,为物联网安全部署提供了一套可行的解决方案。

weixin_29192211的博客 350

69页完整版智慧港口综合解决方案

智慧港口需求4港机远程操控等自动化改造需求自动化码头AGV无线通信及专用视频系统需求安全生产视频监控类需求港机RCMS及设备管理需求岸边智能理货码头三维全景应用智慧港口解决方案5自动化码头AGV/跨运车/无人集卡无线接入港机远控视觉及冗余无线通信视觉集卡防吊起系统集装箱码头岸边智能理货港机RCMS系统无线接入港机智能化管理(无线高清视频监控、一键报警、远程抄表系统)港口拖轮无线接入岸边溢油监测系统TD-LTE覆盖及业务终端接入港口生产管理系统港口可视化集群调度港口GiNMS综合网络设备智能管理全球作业效率最

zuoan1993的博客 2129

Java学习记录——DAY2

基于String类的学习

weixin_53278872的博客 281

SCADA|KingSCADA通过组合框选择修改变量的值

《SCADA项目中组合框控件的使用方法》 本文详细介绍了SCADA系统中组合框(下拉框)控件的应用方法。通过具体示例演示如何实现:当选择"雷工笔记"时变量值为100,选择"雷工杂谈"时为200,选择"小李食代"时为300的功能。主要实现步骤包括:1)创建项目并添加组合框控件;2)设置Items选项及对应数值;3)创建内存变量;4)使用GetCurrentIndex()和GetItemData()方法;5)在选项变化事件中编写脚本。该控件在SCADA

做有价值的事,积累有价值的笔记! 864

Java学习记录Day2

思路2多嵌套的循环就是将思路1中的i*i*i*i用for循环表示出来,表示出来时还需要多创建一个中间变量用于暂时储存一个累乘的结果。错误原因:将num变量放入第二个循环内当中,导致每次进行循环时,都会对num这个变量重新初始化为0,导致每次打印出来的都为0。要细心思考,而且还忘记了写break退出循环,这道题只用求一个数字,如果求多个数字,才不写break,注意审题。进行初步分析时,没有很严谨的分析每一个变量的取值范围,比如个位数大于百位数和十位数。外层循环控制循环的组数,也就是控制有n组。

2401_89964177的博客 263

【通信原理】基于【MATLAB】的通信OFDM系统仿真

主要进行OFDM系统的仿真,使用MATLAB软件对OFDM系统的接收端和发射端分别进行模拟仿真。

ALi.S的博客 5792

【STM32Cube_14】使用硬件I2C读写环境光强度传感器(BH1750)

本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件I2C外设读取环境光强度传感器数据(BH1750)

Mculover666的博客(嵌入式) 7242

Java学习记录day2

分支语句和循环

star_feather的博客 123

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

[JAVA学习之旅] day2记录

[JAVA学习之旅] day2记录

stressdout的博客 327

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Java学习记录(day2)

学习目标: 一周掌握 Java 入门知识 JAVA学习笔记(day2): 提示:这里可以添加要学的内容 例如: 搭建 Java 开发环境 掌握 Java 基本语法 掌握条件语句 掌握循环语句 学习时间: 提示:这里可以添加计划学习的时间 例如: 周一至周五晚上 7 点—晚上9点 周六上午 9 点-上午 11 点 周日下午 3 点-下午 6 点 学习产出: 提示:这里统计学习计划的总量 例如: 技术笔记 2 遍 优快云 技术博客 3 篇 习的 vlog 视频 1 个 ...

anerl的博客 401

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

java学习记录【day2】

第二天,下载了最新的java,并搭建了初步的软件环境。 发现英文版的windows不好用,因为显示全是英文了,所以下载了简体中文的语言包,把系统语言换成了中文版。 转载于:https://blog.51cto.com/hehamy/1582172...

weixin_33860528的博客 117

学习Java笔记记录Day2

学习Day2

m0_69052198的博客 144

小白艰苦学习之路(记录学习历程——Java篇)Day2

Day2 JDK、JRE、JVM 卸载JDK 删除Java的安装目录 删除JAVA_HOME 删除path下关于Java的目录 查看java -version是否存在 安装JDK 百度搜索JDK8,找到下载地址 官网地址 同意协议,下载对应电脑版本 双击下载完成的exe文件 下载过程中一直下一步,切记记住安装的路径 配置环境变量 我的电脑-->右键-->属性 环境变量-.

TinkerHua的博客 218

Java基础,记录我的学习过程Day2

if判断

m0_56950238的博客 92

Java学习记录 Day2(变量、数据类型、运算符)

@西部开源·Java学习记录 Day 2 2019年3月24日。 这是我来到西部开源的第二天。 这一天,我学到了以下的知识。 变量 在程序运行过程当中,其值可以发生变化的值。 变量,要有数据类型的规定。 Java中变量的定义格式:数据类型 变量名 = 值。数据类型就是用来限定这个值的变化范围,限定是什么样类型的值。 变量其实就是在内存中开辟的一块空间,用来存储数据,可以通过数据类型声明。 变量首...

赈川 537

安卓学习记录-java-day2

一、流程控制 switch语句 语句表达式可以为整型和枚举类型。 switch(表达式) { case 表达式1: {......break;} …… default:与上述表达式不相配,执行该语句} do   while do {方法体} while(表达式); 先执行,后判断; break:跳出循环, continue:跳出本次循环,继续执行; 数组

吾非同 338

新手后段Java学习记录-代码随想录Day2(数组)

i-- ),循环结束后 i = b ,但nums[b]不被填充;⚠️重点是:for(i=0;i++),循环结束后 i=a,但nums[a]不被填充;所以for循环的边界都是不被填充的位置;for循环中的j表示的是窗口的终止位置;n - offset: 是每一条边遍历的长度,这个数在每一轮(loop)中都是相同的;(2)for循环汇总,y和x的起点应该从s_y和s_x开始,而不是从0开始;(3)如果后面还需要使用的变量,需要在for循环外声明,否则在外面不可用;(1)loop的起始点是0,不是n/2;

m0_60244405的博客 265

【日撸 Java 三百行】Day 1-2(环境搭建与基本运算)

作者有一定的 java 基础,同时较为熟悉 C,C++,python 等语言,有较为基础的计算机素养。此博客主要是用于记录学习历程,强化代码能力,同时,也可以作为后续勘误参考的工具/回顾知识点的集合。

Akiiiira的博客 1082

Day2学习:Windows快捷键、DOS命令、Java环境搭建、HelloWorld

本文主要介绍了计算机基础知识与Java开发环境搭建。内容包括计算机组成(硬件与软件)、Windows快捷键、DOS命令操作等基础知识。重点讲解了Java语言特性、三大版本及JDK/JRE/JVM关系,详细演示了JDK安装、环境配置和HelloWorld程序编写过程。最后对比了编译型与解释型语言的区别,并介绍了使用IDEA开发工具的基本操作。全文涵盖了从计算机基础到Java开发环境搭建的完整知识链,适合编程初学者系统学习。

2501_92993640的博客 998

Java学习

目前学下来还是比较轻松的,但是最近要忙很多别的事情,耽误了学习进度。

qq_61130860的博客 232

JAVA学习DAY2-数据转换,运算符,方法

JAVA学习DAY2-数据转换,运算符,方法

weixin_43600504的博客 338
上一篇: 彻底卸载vs
下一篇: JAVA学习记录day3
string_s1
博客等级 码龄4年 83粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值