【Java】初识Java
Java和C语言有许多类似之处,这里就只挑不一样的点来说,所以会比较杂乱哈~
目录
1.数据类型
2.输入与输出
2.1三种输出
2.2输入
2.3循环输入输出
//猜数字小游戏
//打印乘法口诀表
3.方法
//交换两个数(数组的应用)
//模拟登陆(比较字符串)
3.1方法重(chong)载
3.2方法签名
1.数据类型
1.基本数据类型:8种,byte,char,int,long,float,double,boolean
2.引用数据类型:类,数组,接口,string字符串,枚举类型……
与C语言的不同:
循环:while循环中条件必须为布尔表达式,所以 while(1) 在C语言中可编译在Java种不行,但是while(true)可以;当循环没有写括号时,循环只执行与之最近的代码。

2.输入与输出
2.1三种输出
public static void main(String[] args) {System.out.println("输出且换行");System.out.print("输出不换行");System.out.printf("%s\n","格式化输出");}
2.2输入
需要导入util包,打出Scanner后Java自动提示,回车后自动导入
public static void main(String[] args) {Scanner scan = new Scanner(System.in);//表示从键盘读入int a = scan.nextInt();//next+类型表示将要读入数据的类型System.out.println(a);double f = scan.nextDouble();System.out.println(f);scan.nextLine();//把回车吃走,否则下面的nextline会读取回车String name1 = scan.nextLine();//遇到空格不会结束System.out.println(name1);String name2 = scan.next();//遇到空格就结束,不会读取回车System.out.println(name2);}

2.3循环输入输出
Ctrl+D结束循环;Ctrl+C终止程序
public static void main(String[] args) {Scanner scan = new Scanner(System.in);while(scan.hasNextInt()){int a=scan.nextInt();int b= scan.nextInt();System.out.println(a+b);}
}

//猜数字小游戏
public static void main(String[] args) {Scanner scan = new Scanner(System.in);Random random = new Random();int randNum = random.nextInt(100);//[0~100)//int randNUm = random.nextInt(50)+50;//[50~100)60System.out.println("作弊:"+randNum);while(true){int n = scan.nextInt();if(n < randNum){System.out.println("猜小了~");} else if (n > randNum) {System.out.println("猜大了~");}else {System.out.println("猜对啦");break;}}}
//打印乘法口诀表
public static void main(String[] args) {for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {System.out.print(i+"*"+j+"="+i*j+" ");}System.out.println();}
}

3.方法
格式:访问修饰限定符 返回值类型 方法名 (形式参数列表){
方法体代码;
return 返回值;
}
访问修饰限定符:现阶段直接使用 public static 固定搭配;
注意:方法等同于C语言中的函数;方法是定义在类中的;方法的调用,每次都会在栈上开辟内存;每个方法都有其独立的空间。
//交换两个数(数组的应用)
在C语言中,我们有传值调用和传址调用,其中只有传址调用能够成功交换。在Java中,我们没有指针这一说法,也就是我们无法获取内存中的地址,那该怎么实现交换呢?
答案:传引用类型参数例如数组来交换。
public static void swap(int[] arr){int tmp = arr[0];arr[0] = arr[1];arr[1] = tmp;
}
public static void main(String[] args) {int[] arr = {1, 2};System.out.println("交换前:"+arr[0]+" "+arr[1]);swap(arr);System.out.println("交换后:"+arr[0]+" "+arr[1]);
}

//模拟登陆(比较字符串)
在C语言中我们肯定都写过模拟登陆的题目,其中有一环节:比较输入密码和原密码是否相同。C语言中使用库函数strcmp,Java中使用的是啥呢?
public static void main(String[] args) {Scanner scan = new Scanner(System.in);String password = scan.nextLine();if ( password.equals ("123456") ){System.out.println("密码正确!");}else {System.out.println("密码错误!");}
}
3.1方法重(chong)载
要求:方法名相同;参数列表不同(个数,类型,顺序);与返回值类型无关。
优点:取名字很方便,例如求整型和与求浮点型和的函数名可以都为sum且不会报错(见下)。
public static int sum(int a,int b){return a+b;
}
public static double sum(double a,double b){return a+b;
}
3.2方法签名
定义:方法全路径名+参数列表+返回值类型
例如:int add (int, int) 真正的名字:extend01/TestMethod.add(II)I
double add(double, double) 真正的名字:extend01/TestMethod.add(DD)D
查看:先对工程进行编译生成.class 字节码文件;在文件中进入要查看的.class所在的目 录(在out文件目录下启动cmd);输入 javap -v 字节码文件名即可。

方法签名中一些特殊符号的含义:
V:void Z:boolean B:byte C:char S:short I:int J:long F:float D:double [:数组,以 [ 开头,配合其他的特殊字符,表述相应类型数据的数组,几个 [ 表示几维数组L: 引用类型,以L开头 ; 结尾,中间是引用类型的全类名
相关文章:
【Java】初识Java
Java和C语言有许多类似之处,这里就只挑不一样的点来说,所以会比较杂乱哈~ 目录 1.数据类型 2.输入与输出 2.1三种输出 2.2输入 2.3循环输入输出 //猜数字小游戏 //打印乘法口诀表 3.方法 //交换两个数(数组的应用) //模…...
JVM相关知识
JVM类加载过程类什么时候被加载什么情况下会发生栈内存溢出JVM内存模型常量池回收方法区垃圾回收流程圾收集算法分代收集理论标记-清除算法标记-复制算法标记-整理算法类加载过程 加载–验证–准备–解析–初始化–使用–卸载 加载:通过全类名获取类的二进制流…...
【LeetCode】剑指 Offer(21)
目录 题目:剑指 Offer 39. 数组中出现次数超过一半的数字 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 题目:剑指 Offer 40. 最小的k个数 -…...
线性求解器Ax=b的验证
文章目录前言Matrix MarketMatlab IORead dataWrite data测试C IORead and write dataDownload MatrixIO 代码下载参考网址前言 一般情况集成了一个线性求解器(Axb),我们需要验证其性能和精度,这时需要大量数据来做验证ÿ…...
java 事件处理机制 观察者模式
事件处理机制有三个要素事件、事件源、事件监听与java的对应关系如下事件事件源事件监听javaclassjava.util.EventObjectjava.util.EventObject 的 source 属性interfacejava.util.EventListener观察者模式又被称为发布-订阅(Publish/Subscribe)模式&…...
使用 HTML5 轻松验证表单插件
下载:https://download.csdn.net/download/mo3408/87559594 效果图: 当您通过表单从人们那里收集信息时,必须应用某种验证。如果不这样做,可能会导致客户流失、数据库中的垃圾数据甚至网站的安全漏洞。从历史上看,构建表单验证一直很痛苦。在服务器端,全栈框架会为您处理…...
【Error: ImagePullBackOff】Kubernetes中Nginx服务启动失败排查流程
❌pod节点启动失败,nginx服务无法正常访问,服务状态显示为ImagePullBackOff。 [rootm1 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE nginx-f89759699-cgjgp 0/1 ImagePullBackOff 0 103…...
九龙证券|直逼1.5万亿!A股融资余额创年内新高,青睐这些行业和个股
2023年以来,A股商场震动重复,商场走势整体先扬后抑,各路资金看法纷歧,但数据显现,融资客在此期间整体持续净买入,未受到商场动摇的明显冲击,融资余额日前已迫临1.5万亿元,创出年内新…...
【JavaScript】36_正则表达式
正则表达式 正则表达式 正则表达式用来定义一个规则通过这个规则计算机可以检查一个字符串是否符合规则 或者将字符串中符合规则的内容提取出来 正则表达式也是JS中的一个对象, 所以要使用正则表达式,需要先创建正则表达式的对象 new RegExp() 可以…...
参考 | 辨别真假笔记本三星内存条 (ddr4)
参考 | 辨别真假笔记本三星内存条 (ddr4) 文章目录参考 | 辨别真假笔记本三星内存条 (ddr4)1. 三星内存条标签纸上编码的含义2. 三星内存颗粒上编码的含义3. 辨别内容参考1. 三星内存条标签纸上编码的含义 内存条贴张上面有两串值得注意的编码, 其中编码的具体意义参考三星官方…...
JavaScript Math(算数)对象
Math(算数)对象的作用是:执行常见的算数任务。在线实例round()如何使用 round()。random()如何使用 random() 来返回 0 到 1 之间的随机数。max()如何使用 max() 来返回两个给定的数中的较大的数。(在 ECMASCript v3 之前…...
MyBatis里面用了多少种设计模式?
在MyBatis的两万多行的框架源码中,使用了大量的设计模式对工程架构中的复杂场景进行解耦,这些设计模式的巧妙使用是整个框架的精华。经过整理,大概有以下设计模式,如图1所示。图101类型:创建型模式▊ 工厂模式SqlSessi…...
第三十二周精华分享(2023.02.27-2023.03.06)
本帖是知识星球各类问答以及文章精华沉淀区,而知识星球相关资源沉淀则在置顶帖的「资源沉淀」中。 学计算机的都应该知道有个局部性原理,其实局部性原理在很多场合都适用,比如80%的圈友的痛点或者疑惑其实都集中在一些固定的方面或者问题上&…...
数学建模资料整理
数学建模中有三类团队: 第一类:拿到题目,讨论,然后建模手开始建模,编程手开始处理数据,写作手开始写作。 第二类:拿到题目,团内大佬,开始建模,然后编程&#…...
设计模式---抽象工厂模式
目录 1 介绍 2 优缺点 3 实现 1 介绍 抽象工厂模式(Abstract Factory Pattern) 是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负…...
Java Web 实战 07 - 多线程基础之单例模式
大家好 , 这篇文章给大家带来的是单例模式 , 单例模式中分为懒汉模式和饿汉模式 , 懒汉模式是需要用的到的时候才去创建实例 , 而饿汉模式是程序一启动就立刻创建实例 , 在这其中还有很多其他问题需要我们去研究 推荐大家跳转到这里 , 观看效果更加 上一篇文章的链接我也贴在这…...
uniapp上实现左右关联滚动
先看效果: 代码: <template><view class"container"><!-- 左侧fixed导航区域 --><view class"left"><viewv-for"item in leftList":key"item.id"class"left_item":class…...
Docker Remote API未授权访问
目录Docker简述Docker 2375端口安全风险Docker命令连接利用声明:本文仅供学习参考,其中涉及的一切资源均来源于网络,请勿用于任何非法行为,否则您将自行承担相应后果,本人不承担任何法律及连带责任。Docker简述 Docke…...
【蓝桥杯】第十四届蓝桥杯模拟赛(第三期)C++ (弱go的记录,有问题的话求指点)
博主是菜鸡啦,代码仅供参考,只确定能过样例,嘻嘻~第一题,填空题问题描述请找到一个大于 2022 的最小数,这个数转换成十六进制之后,所有的数位(不含前导 0)都为字母(A 到 …...
算法24:LeetCode_并查集相关算法
目录 题目一:力扣547题,求省份数量 题目二:岛屿数量 题目三:岛屿数量拓展 什么是并查集,举个简单的例子。学生考试通常会以60分为及格分数,我们将60分及以上的人归类为及格学生,而60分以下归…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...
C++实现分布式网络通信框架RPC(2)——rpc发布端
有了上篇文章的项目的基本知识的了解,现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...
密码学基础——SM4算法
博客主页:christine-rr-CSDN博客 专栏主页:密码学 📌 【今日更新】📌 对称密码算法——SM4 目录 一、国密SM系列算法概述 二、SM4算法 2.1算法背景 2.2算法特点 2.3 基本部件 2.3.1 S盒 2.3.2 非线性变换 编辑…...
