javase入门

news2024/12/27 16:20:04

最近在学习大数据,学到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+b
        return 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后,接口可以有静态方法,默认方法,也就是说接口中可以有方法的具体实现.(现在一般都用这个)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2037903.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

8.6.数据库基础技术-数据库的控制

并非控制 事务:由一系列DML操作组成,这些操作,要么全做,要么全不做,它从第一个DML操作开始,rollback、commit或者DDL结束,拥有以下四种特性,详解如下: (操作)…

OrangePi AIpro学习5 —— 模型推理程序开发

目录 一、准备工作 1.1 代码裁剪 1.2 测试运行 二、程序讲解 2.1 初始化 2.2 处理模型图片输入 2.3 推理函数 2.4 对输出结果进行处理 前言 本节主要讲解昇腾芯片,例程中使用resnet50推理图像类别的程序。本节讲解的程序,它的环境搭建与使用方法…

考PMP需要多久?一篇文章告诉你如何省心备考PMP

PMP备考需要半年时间吗?....是要满分拿下PMP吗? PMP备考不用半年时间,如果你想的话,可以一个多月就成功上岸哦。如果你不想的话,也可以半年。 其实大家认真去学习的,时间根本不需要那么长的时间&#xff0…

全新Bty分销系统源码v1.0/宝塔分销系统开源版源码/独立后台(附安装教程)

源码简介: 全新Bty分销系统源码v1.0,它作为宝塔分销系统开源版源码,功能强大,它内置了易支付功能,方便多了! 这个Bty分销系统开源版,宝塔分销系统开源版。它基于宝塔开放的API底层控制器&…

LoadRunner12添加mysql数据连接驱动

参考链接 lr进行mysql参数化 https://jingyan.baidu.com/article/6d704a13407c4128db51ca2d.html 下载mysql数据库驱动教程 Loadrunner12使用MYSQL5.0参数化数据遇到的问题_loadrunner12 参数化没有效果-CSDN博客 mysql数据驱动下载链接 MySQL :: Download MySQL Connect…

centos 下如何安装openjdk21

文章目录 前言一、下载OpenJDK二、上传OpenJdk三、解压四、编辑环境变量五、重新加载一下配置六、验证是否安装成功 前言 本文章是自己将openjdk下载好!手动上传解压的方式进行安装! 一、下载OpenJDK OpenJdk官网:点击访问 二、上传OpenJ…

封装Form表单【后台控制表单搜索项的显隐和排序】

概要 为了实现需求:后台控制表单搜索项的显隐和排序; 整体思路流程 表单搜索项统一配置,封装成一个组件,把不同类别再封装成单个的组件,配置项数组由前端控制(暂由前端配置,这样虽然代码量多&…

央行重提P2P存量业务化解,非吸案开始翻旧账?

沉寂已久的P2P,又突然以另一种意想不到的形式回到公众视野了。2018年全国P2P坍塌式暴雷,平台老板“跑路”“判刑”的消息一时间你方唱罢我登场。当年的某凰金融、某租宝、某信贷等赫赫有名的网贷平台传出的消息无非两类——查封或跑路,这几年…

外卖O2O系统开发源码开源介绍

外卖O2O系统开发源码开源介绍 开源外卖O2O系统源码可以为开发者提供快速搭建外卖平台的基础,节省从零开始的开发时间。 以下是几个推荐的开源项目: flash-waimai 是一个基于Spring Boot和Vue.js的前后端分离的外卖系统,包含手机端和后台管理…

代码随想录算法训练营第三十五天|背包问题理论基础、携带研究材料、分割等和子集

背包问题理论基础 1.背包问题概述 01背包:有n种物品,每种物品只有一个; 完全背包:有n种物品,每种物品有无限个; 多重背包:有n种物品,每种物品的个数各不相同。 2. 01背包 有n件…

旋转目标数据集制作:roLabelImg的安装和使用

目录 创建roLabelImg环境 安装pyqt5和lxml 下载roLabelImg源码包 使用roLabelImg roLabelImg常用操作指令 标注展示 由于最近一些项目需要标注旋转数据集,在网上找了一些教程,但大多数都显得比较杂乱,因此想把这些重新整理一下&#xf…

汽车免拆诊断案例 | 2013款北京现代悦动车发动机偶尔无法起动

故障现象 一辆2013款北京现代悦动车,搭载G4FC发动机,累计行驶里程约为13.9万km。车主反映,发动机偶尔无法起动着机,断开点火开关,等待一会儿又可以起动着机。 故障诊断 接车后反复试车,当发动机无法起动着…

TS RadiMation®软件EUT监测与控制:抗扰度测试的智能解决方案

随着电子设备在各个领域的广泛应用,确保它们在各种电磁环境中可靠运行变得尤为重要。TS RadiMation软件以其卓越的EUT监测与控制功能,为抗扰度测试提供了一站式智能解决方案。 在本文中,我们将深入探讨TS RadiMation如何通过先进的输入通道配…

【MATLAB第108期】基于MATLAB的fast、vbsa、dynia、eet、glue、pawn、rsa敏感性分析模型合集(无目标函数)【更新中】

【MATLAB第108期】基于MATLAB的fast、vbsa、dynia、eet、glue、pawn、rsa敏感性分析模型合集(无目标函数)【更新中】 一、FAST(Fourier Amplitude Sensitivity Test) FAST(Fourier Amplitude Sensitivity Test&#…

2024年10大最佳研发工时管理系统推荐

这篇文章介绍了以下几个工具:PingCode、Worktile、无鱼项目工时系统、盖雅工厂、泽众ALM、蓝凌KMS、Forecast、EasyRedmine、Trello、Hubstaff。 在选择研发工时管理系统时,很多人都感到无从下手。市面上的工具五花八门,功能和特点各不相同&a…

专题十四_优先级队列

目录 1046. 最后一块石头的重量 解析 题解 703. 数据流中的第 K 大元素 解析 题解 692. 前K个高频单词 解析 题解 1046. 最后一块石头的重量 1046. 最后一块石头的重量 解析 题解 class Solution { public:int lastStoneWeight(vector<int>& stones) {// 专…

idea 对于mybatis-plus框架JRebelX和XRebel热启动失效问题

1.mybatis-plus不需要使用热启动插件&#xff0c;修改完代码后&#xff0c;直接重新编译一下即可&#xff0c;不需要重启 2.如果是mapper.xml文件&#xff0c;则直接安装JRebel MybatisPlus extension 插件即可完成mapper.xml静态文件更改进行热加载

墨水屏显示颜色过程中的问题,数据和像素值提取比较

软件使用步骤参考 数据数量问题 对于一个单层图片来说&#xff0c;可以分辨率可以使用像素的数量来描述。图片的长宽由多少像素组成就是所说的图片的长宽。这种说法也不太准确&#xff0c;一般人为分辨率越大&#xff0c;约清晰。这种认知是在同样长度中有更多像素&#xff0…

计算机毕业设计 助农产品采购平台 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

HDFS 原理和操作

目录 一、操作1. web工具2.命令行----常用命令3.Java APIJavaAPI创建HDFS目录&#xff0c;获取HDFS修改权限JavaAPI上传和下载数据使用JavaAPI获取HDFS元信息 二、HDFS原理解析1.数据上传2.数据下载 三、HDFS的高级特性1.回收站2.快照3.配额Quota4.安全模式5.权限管理命令行Jav…