当前位置: 首页 > news >正文

javase入门

最近在学习大数据,学到flume拦截器的时候发现自定义拦截器需要使用java编写,现在开始学一些java入门的东西.

一. java相关组成

path环境变量: 环境变量用于记住程序路径,方便在命令行窗口任意目录启动程序.

二 java中的变量

  •  变量要先定义在使用.
    int age = 15
  • 定义变量要定义其数据类型.
  • 什么类型的变量只能存储什么类型的数据.
  • 变量存在访问范围,同一个范围内,多个变量的名字不能一样.
  • 变量定义时可以不给赋值,但使用的时候一定要有值.

2.1变量的数据类型

基本数据类型

注意:直接写的小数就是double类型变量. 

 2.3 类型转换

2.3.1 自动类型转换

类型范围小的变量,可以直接赋值给类型范围大的变量.

2.3.2 表达式的自动类型转换

  • 表达式的最终结果由表达式中的最高类型决定.
byte a=10
int b = 20
long c =30 
long d=a+b+c # a+b+c表达式的最高类型是long,所以d的类型为long.
  • 在表达式中,short,byte,char是直接转化成int类型参与运算的.
    byte b1=1
    byte b2 =2
    int b3 =b1+b2

2.3.3 强制类型转换

当大范围类型的变量赋值给小范围类型的变量时.需要强制转换.

 但是,将大范围类型转化为小范围类型,容易出错,因为大范围类型变量可能会超出小范围变量的范围.

三 程序流程控制(控制程序执行的顺序-->重点)

程序中最经典的三种执行顺序:

 3.1 if 分支

3.2 switch分支

 

当一个一个比较的时候,还是使用switch..case比较好,优雅.

使用switch的时候需要注意:

  • 表达式类型只能是byte,short,int,char,string,不支持double,float和long.
  • case后边的值不可以重复,不可以是自变量,只能是字面量.
  • 正常使用switch时不要忘记写break,如果不写break,会有穿透影响.

3.3 for 循环

 

3.4 while循环

 

 while和for的区别:

  • 功能上一样,for可以解决的,while也可以解决.
  • 知道几次使用for,不知道几次使用while.

3.5 do-while循环

 

 do-while执行的特点:先执行,后判断


四 数组的定义和访问

4.1 静态初始化数组

静态初始化数组表示在定义数组的时候直接给数组赋值.

定义语法:

数据类型 [] 数组名字 = new int[] {元素1,元素2....};
int [] arr =new int {1,2,3}

简化写法:

数据类型 [] 数组名 = {元素1,元素2,...}

注意:

  • 数据类型 数组名字 [] = new int[] {元素1,元素2....}; 也可以
  • 什么类型的数组存储什么类型的元素.

数组存的是元素的地址.在定义数组时,会开辟一块内存,然后把一串元素赋值给该数组变量,该数组变量存放的是这些元素的内存中的地址.

 4.2 访问数组

语法:数组名 [索引]

数组长度:数组名.length

4.3 动态初始化数组

定义数组时,先不存入具体的元素,之确定数组存储的数据类型和数组的长度.

语法:

数据类型 [] 数组名 =new 数据类型[长度]
int [] arr =new int [13]

五 方法

概述:方法是一种语法结构,它可以把一段代码封装成一个功能,以便重复调用.

语法:

修饰符 返回值类型 方法名 (形参列表){方法代码return 返回值;
}
# 定义
public static int sum(int a,int b){int c =a+breturn c;
}# 调用
# 语法:方法名(参数)
int res =sum(1,2)
  • public static 是方法的修饰符
  • 如果方法不需要返回值,那么返回值类型为void

总结:

  • 方法在 类中的位置前后是无所谓的,但是一个方法不能放在另一个方法里边.
  • 方法不调用不会执行.
  • 有返回值的方法,调用的时候可以直接输出调用(但是python不行)
  • java的参数传递机制是值传递,把变量对应的值传递给某个函数的形参,该函数对该形参做改变,不影响原来的值.

 六 方法重载(overload)

定义:一个类中,出现多个方法名称相同,但是参数列表不同的,那么这些方法就成为方法重载.

 

方法重载的应用场景:

  • 在开发过程中,为一类业务 提供多种处理方案.

七 return在无返回值方法中的应用.

八 字符串 

在java中,String是字符串的类,java程序中,所有字符串文字都是此类的对象.

String name = "123"

字符串的两种创建方式:

String str = "ayh"
String str = new String("ayh")

字符串的内容不能发生变化.

九 接口

接口就是给出一些没有实现的方法,将他们封装到一起,到某个类要使用的时候,在根据具体情况把这些方法写出来.(所有抽象方法都要实现)

语法:

# 定义接口
interface 接口名{属性方法
}# 定义其他的类来使用接口
public class 类名 implements 接口名{自己的属性自己的方法必须实现的接口的抽象方法}

在jdk7.0前,接口里的所有方法都没有方法体,即都是抽象方法.

jdk8.0后,接口可以有静态方法,默认方法,也就是说接口中可以有方法的具体实现.(现在一般都用这个)

相关文章:

javase入门

最近在学习大数据,学到flume拦截器的时候发现自定义拦截器需要使用java编写,现在开始学一些java入门的东西. 一. java相关组成 path环境变量: 环境变量用于记住程序路径,方便在命令行窗口任意目录启动程序. 二 java中的变量 变量要先定义在使用. int age 15 定义变量要定义其…...

Wireshark显示过滤器大全:快速定位网络流量中的关键数据包

文章目录 一、简介二、wireshark中的逻辑运算符三、过滤示例集合3.1 过滤指定日期和时间3.2 过滤指定协议3.2.1 例:仅显示SMTP(端口 25)和ICMP流量:3.2.2 例如:Windows 客户端 - DC 交换 3.3 过滤指定网段(…...

OOP笔记4----抽象类、接口、枚举

抽象类 简介 父类可以封装不同子类的共同特征或者共同行为.而有的时候,父类中封装的方法无法具体完成子类中需要的逻辑,因此我们可以将此方法设计成抽象方法,即使用关键字abstract进行修饰。而有抽象方法的类,也必须使用abstract…...

MySQL面试题全解析:准备面试所需的关键知识点和实战经验

MySQL有哪几种数据存储引擎?有什么区别? MySQL支持多种数据存储引擎,其中最常见的是MyISAM和InnoDB引擎。可以通过使用"show engines"命令查看MySQL支持的存储引擎。 存储方式:MyISAM引擎将数据和索引分别存储在两个不…...

01_Electron 跨平台桌面应用开发介绍

Electron 跨平台桌面应用开发介绍 一、Electron 的介绍二、关于 NW.js 和 Electron 介绍三、搭建 Electron 的环境1、准备工作:2、安装 electron 环境3、查看 electron 的版本,electron -v 一、Electron 的介绍 Electron 是由 Github 开发的一个跨平台的…...

【C语言-扫雷游戏】mineweeper【未完成】

编程小白如何成为大神?大学新生的最佳入门攻略 编程已成为当代大学生的必备技能,但面对众多编程语言和学习资源,新生们常常感到迷茫。如何选择适合自己的编程语言?如何制定有效的学习计划?如何避免常见的学习陷阱&…...

psychopy stroop 实验设计

斯特鲁stroop实验就是色词一致/不一致实验。 设计步骤如下: 1. 先去设置中将Input改为PsychToolbox, 2. 然后左上角File-New新建一个 3. 右键trial,rename改名 改成自己想要的名字即可,比如欢迎界面welcome。 4. 接下来添加提示语…...

c++精品小游戏(无错畅玩版)

一、俄罗斯方块 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> #include <conio.h> #include <windows.h>#ifdef _MSC_VER // M$的编译器要给予特殊照顾 #if _MSC_VER < 1200 // VC6及以下版本 #err…...

应急响应-主机安全之系统及进程排查相关命令(Linux操作系统-初级篇)

目录 概述lscpu-显示有关CPU架构的信息uname-查看系统信息lsmod-输出加载的所有模块lastb-输出最后登录失败的用户last-展示用户最近登录信息lastlog-展示所有用户最后的登录时间systemctl-系统服务&#xff0c;开机自启排查crontab-计划任务选项 history-查看历史命令选项常用…...

java中RSA分段加解密及Data must not be longer than异常处理

谈到RSA非对称加密&#xff0c;作为开发的我们第一想到的是安全&#xff0c;几乎不会被破解&#xff0c;以及公钥加密&#xff0c;私钥解密这些。在Java代码中&#xff0c;我们常使用一些现成的工具类如hutool中提供的工具类、网上在线的或者博客上的RSAUtils工具类来实现公钥私…...

MySQL数据分析进阶(十二)设计数据库——PART3

※食用指南&#xff1a;文章内容为‘CodeWithMosh’SQL进阶教程系列学习笔记&#xff0c;笔记整理比较粗糙&#xff0c;主要目的自存为主&#xff0c;记录完整的学习过程。&#xff08;图片超级多&#xff0c;慎看&#xff01;&#xff09; 【中字】SQL进阶教程 | 史上最易懂S…...

Kubernetes-1.22.0 可视化部署

目录 Kubeadm方式部署3master&#xff0c;2work集群&#xff08;Kubernetes-1.22.0&#xff09;-CSDN博客 1. 官方Dashboard 2. Kuboard 部署 3. Rainbond 部署 4. Kubesphere 部署 1. 官方Dashboard kubectl apply -f https://kuboard.cn/install-script/k8s-dashboard/v2…...

在 vue3 中动态路由问题记录

第一种 如果这样子的话需要加上 /* vite-ignore / ,但是在这样用这行部署服务器上跳转会有问题 component: () > import(/ vite-ignore */ ../views/ e.component .vue) 第二种 // 解决跳转问题const modeules imporet.meta.glob(/views/**/**.vue)component: modules…...

进程编程及其函数的使用

1. 创建进程 创建进程的核心操作是使用 fork() 系统调用。 1.1 fork() 系统调用 fork() 创建一个新进程&#xff08;子进程&#xff09;&#xff0c;新进程几乎是父进程的完整拷贝。fork() 返回两次&#xff1a; 在父进程中&#xff0c;返回子进程的 PID。在子进程中&#…...

为什么funnel图在邮件中不显示

在电子邮件中嵌入的Funnel图或其他图表可能不显示的原因有以下几种&#xff1a; 1. 邮件客户端对外部内容的限制 大多数邮件客户端为了安全&#xff0c;会阻止从外部服务器加载的内容&#xff0c;如图片、脚本或嵌入式图表。Funnel图通常是通过链接或外部脚本生成的&#xff…...

C语言 ——— 写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串

目录 题目要求 代码思路 代码实现 题目要求 写一个函数&#xff0c;判断一个字符串是否为另外一个字符串旋转之后的字符串 例如 s1 "AABCD" &#xff1b;s2 "BCDAA" &#xff0c;返回1 s1 "AABcd" &#xff1b;s2 "BCDAA" …...

白骑士的Matlab教学实战项目篇 4.4 机器学习与AI

系列目录 上一篇&#xff1a;白骑士的Matlab教学实战项目篇 4.3 控制系统设计 机器学习与人工智能&#xff08;AI&#xff09;是当前技术发展的前沿领域&#xff0c;通过数据驱动的模型和算法&#xff0c;可以解决许多复杂的问题。MATLAB 提供了丰富的工具和函数&#xff0c;支…...

事件监控模块——Channel模块

这个模块就是 记录文件描述符 和 想要监控的事件&#xff0c;实际就绪的事件&#xff0c;以及事件发生之后要怎么做&#xff0c;判断有没有监控这个事件&#xff0c;获取事件。 class Poller; class EventLoop; class Channel {private:int _fd;EventLoop *_loop;uint32_t _ev…...

OCR调研

OCR调研 一、介绍 OCR&#xff08;Optical Character Recognition&#xff0c;光学字符识别&#xff09;是一种将图像中的文字转换为计算机可处理格式的技术。OCR技术经历了从传统OCR到基于深度学习的OCR的转变。深度学习OCR技术通过模拟人脑神经元结构处理文本和图像数据&am…...

数据结构(学习版)

考纲 (一)数据结构部分; 线性表栈、队列、数组查找和内部排序树和图 (二)计算机算法设计部分: 递归与分省策路、回溯法贪心算法、分支限界法、动态规划算法设计中的数据结构运用 (三)程序设计基础(C或C)部分: 基本数据类型、各种运算符和表达式、基本控制结构。数组的定义…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...