首页 > 编程语言 >【博学谷学习记录】超强总结,用心分享 | java基础

【博学谷学习记录】超强总结,用心分享 | java基础

时间:2023-06-01 09:59:43浏览次数:37  
标签:java 定义 int 博学 运算符 数组 超强 类型 byte

【博学谷IT技术支持】

前言

java是一门非常好的语言,比较有必要学习一下:

随着科技发展,只会前端是不行的,学习一门后端序言非常有必要,这里记录下自己学习的过程。


一、数据类型

java是一种强类型语言,数据必须明确类型。
基础数据类型有8种,分别是

  • 整数类型:byte, short, int, long,
  • 浮点类型:float,double,
  • 字符类型:char
  • 布尔类型:boolean。

同时整数类型默认是int,浮点类型默认是double

定义

在数据定义的过程中,只有两个需要特别注意,分别是整数类型的long和浮点类型的float

// 其他如byte, short, int只要正常定义就可以了, 比如
byte a = 1
short b = 2
int c = 3

// 但是如果定义long和float,需要后边加字符
long a1 = 100L
float a2 = 10.1F

注意:

  • 定义long类型变量的时候,需要在数值后面加入L标识符,L可以大写也可以小写
  • 定义float类型变量的时候,需要在数值后面加入F的标识,F可以大写也可以小写

标识符的组成规则

  • 由字母、数字、下划线“_”、美元符号“$”组成,第一个字符不能是数字。
  • 不能使用java中的关键字作为标识符。
  • 命名中大驼峰用于定义类名,小驼峰用于定义方法以及变量

类型转换

在代码书写过程中,经常能看到定义int,int是在整数类型中最常用的类型,一般都能满足,这里注意一点
在byte,short,char三种数据在运算过程中都是先提升为int,再进行计算的。
数据转换的过程中,有两种,分别是

  • 隐式类型转换:取值范围小的可以直接赋值给取值范围大的数据类型。
  • 强制类型转换:取值大的赋值给取值小的数据类型。
// 隐式转换
byte a = 10
int b = a

//强制类型转换
int b = 10
byte a =(byte)b
int c = 1
byte d = (byte)(b+c)

二、运算符

+, -, * ,/ ,%,加减乘除取余没什么可说的。这里说下++,--的位置。

  • 如果++在前,那么当前数据就先加后用
int a = 1;
System.out.println(++a); // 2
  • 如果++在后,那么就先用,再加
int a = 1;
System.out.println(a++); // 1
System.out.println(a); // 2
  • +=,-=, *=, /=,也没有什么说的,唯一一点就是该运算符隐含了强制转换

关系运算符
关系运算符也没有什么不同的。唯一注意的是这里没有=,只有

逻辑运算符
和javascript不同,这里都是单符号,比如与&,或| ,非!,异或^

  • :ab,a与b相同为false,不同为true

注意:如果使用了&&或者||,当前条件一旦左边成立,则不在执行右边。

三、条件语句

if, for,while,switch, do while语法都一致,没有不同之处。注意一点的是,当使用while(true)与switch嵌套使用的时候,想让switch的break直接跳出while,需要给while定义一个名字,直接break 名字。

跳出循环的控制语句:
break:跳出当前循环
continue:跳出此次循环

四、数组

这里数组中要对数据的类型要求一致。
不同的定义方式

// 数据类型 数组 数组名称 = 数组的内存空间 数组类型 数组 数组长度
int[] arr1 = new int[3]; // 动态初始化
int[] arr3 = {1,3,4}; // 静态初始化
int[] arr4 = new int[]{1,2,3}; // 静态初始化

取值方式还是通过索引取值

注意: 在数组的操作中要注意一个是索引越界,一个是空指针异常,索引越界就是当前长度可能为3,现在来找4,那就索引越界。空指针是指定义为null的时候,再来拿值,就空指针异常了。

五、方法

public  class day01 {
	public static void main(String[] args) {
	}
}
  • public: 访问修饰符
  • static: 关键字
  • void:返回类型,也可以定义为int之类的,根据返回的参数定义,没有返回则定义为void
  • main: 方法名
  • String[]: String类
  • args: 字符串数组

方法定义不能嵌套,但是可以重载,
重载:

  • 多个方法在同一个类中
  • 多个方法有相同的方法名
  • 多个方法的参数不同或类型不同或数量不同

方法的基础类型传递

基础类型传递,形参的改变不影响实参,方法在栈内存中,都会有独立的栈空间,方法运行结束就会弹栈。

方法的引用类型传递

引用类型的参数,形参的改变会影响实参。引用类型传参是传入了地址值,
因此修改会直接修改到内存中的值,形参改变,实参也改变。

标签:java,定义,int,博学,运算符,数组,超强,类型,byte
From: https://www.cnblogs.com/neilniu/p/17448054.html

相关文章

  • 博学谷学习记录】超强总结,用心分享 | 常用api
    【博学谷IT技术支持】常用APIMath类的常用方法方法名说明publicstaticintabs(inta)返回参数的绝对值publicstaticdoubleceil(doublea)向上取整publicstaticdoublefloor(doublea)向下取整publicstaticintround(floata)四舍五入publicstaticintmax(......
  • 【博学谷学习记录】超强总结,用心分享 | 集合
    【博学谷IT技术支持】集合集合根据存储分为单列集合java.util.Collection和双列结合java.util.Map,集合的长度是可变的,集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类。数组可以存基本数据类型和引用数据类型Collection单列集合的跟接口,用于存储一系列......
  • 【博学谷学习记录】超强总结,用心分享 | python基础学习(数据类型,运算符)
    【博学谷IT技术支持】基础数据类型Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建赋值方式直接赋值a=1#整型变量b=1.0#浮点型变量c='abc'#字符串多个赋值a=b=c=1a,b,c=1,2,3标准数据类型标准数据类型......
  • javascript 的 事件类型(事件)
    事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行。事件是文档或者浏览器窗口中发生的,特定的交互瞬间。事件是用户或浏览器自身执行的某种动作,如click,load和mouseover都是事件的名字。事件是javaScript和DOM之间交互的桥梁。你若触发,我便执行——事件发生,调用......
  • 博学谷学习记录】超强总结,用心分享 | mongodb基础用法
    【博学谷IT技术支持】数据库连接后端数据库连接语法:mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]mongodb://是固定搭配,后边是可选参数用户名加密码,host是要连接服务器的地址,portx是指定的端口,默认27017da......
  • 1.1. Java简介与安装
    Java简介Java是一种广泛使用的计算机编程语言,由JamesGosling和他的团队在SunMicrosystems公司开发,于1995年首次发布。Java的设计理念是“一次编写,到处运行”,这意味着Java应用程序可以在任何支持Java运行时环境(JRE)的设备上运行,而无需重新编译。Java的主要特点包括:面向对象:Jav......
  • 5.5. Java并发工具类(如CountDownLatch、CyclicBarrier等)
    5.5.1CountDownLatchCountDownLatch是一个同步辅助类,它允许一个或多个线程等待,直到其他线程完成一组操作。CountDownLatch有一个计数器,当计数器减为0时,等待的线程将被唤醒。计数器只能减少,不能增加。示例:使用CountDownLatch等待所有线程完成任务假设我们有一个任务需要三个子......
  • Java内存管理
    Java的内存管理有内存分配与内存回收,Java中内存分配与回收完全用虚拟机自动实现。 内存分为:栈,堆,代码区,静态变量存储区。 栈:存放局部变量,引用对象,形参(形参是一种特殊的局部变量)。例如,定义局部变量inti=20;那么i分配在栈中,栈中的内容用完后立即释放,所以速度较快,注意一点,基本数......
  • java List分批处理
    1packagecom.example.demo;2importcom.google.common.collect.Lists;3importjava.util.ArrayList;4importjava.util.List;5publicclassTest{6publicstaticvoidmain(String[]args){7List<Integer>list=newArrayList<......
  • pollard_rho大数分解Java版
    代码:importjava.math.BigInteger;importjava.security.SecureRandom;classPollardRho{privatefinalstaticBigIntegerZERO=newBigInteger("0");privatefinalstaticBigIntegerONE=newBigInteger("1");privatefina......