当前位置: 首页 > 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后,接口可以有静态方法,默认方法,也就是说接口中可以有方法的具体实现.(现在一般都用这个)

http://www.lryc.cn/news/423238.html

相关文章:

  • Wireshark显示过滤器大全:快速定位网络流量中的关键数据包
  • OOP笔记4----抽象类、接口、枚举
  • MySQL面试题全解析:准备面试所需的关键知识点和实战经验
  • 01_Electron 跨平台桌面应用开发介绍
  • 【C语言-扫雷游戏】mineweeper【未完成】
  • psychopy stroop 实验设计
  • c++精品小游戏(无错畅玩版)
  • 应急响应-主机安全之系统及进程排查相关命令(Linux操作系统-初级篇)
  • java中RSA分段加解密及Data must not be longer than异常处理
  • MySQL数据分析进阶(十二)设计数据库——PART3
  • Kubernetes-1.22.0 可视化部署
  • 在 vue3 中动态路由问题记录
  • 进程编程及其函数的使用
  • 为什么funnel图在邮件中不显示
  • C语言 ——— 写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串
  • 白骑士的Matlab教学实战项目篇 4.4 机器学习与AI
  • 事件监控模块——Channel模块
  • OCR调研
  • 数据结构(学习版)
  • 除了知云文献翻译外,这几款翻译工具值得推荐!
  • Element UI动态实现面包屑导航~
  • 安科瑞Acrel-2000ES储能能量管理系统在新型电力系统下分布式储能的研究
  • Git 逆转时光:版本回退操作详解
  • 8.6.数据库基础技术-数据库的控制
  • php语言基础入门
  • 告别杂音,从 AI 音频降噪开始
  • Postman中params传参与Body传参区别以及Body中不同类型的区别
  • 数据结构入门——05队列
  • 使用python MySQL 实现一个 key-value(string:json) 读写库
  • 实现:uniapp项目分享视频页面到微信,可以自定义分享的页面样式及内容