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

【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语言有许多类似之处&#xff0c;这里就只挑不一样的点来说&#xff0c;所以会比较杂乱哈~ 目录 1.数据类型 2.输入与输出 2.1三种输出 2.2输入 2.3循环输入输出 //猜数字小游戏 //打印乘法口诀表 3.方法 //交换两个数&#xff08;数组的应用&#xff09; //模…...

JVM相关知识

JVM类加载过程类什么时候被加载什么情况下会发生栈内存溢出JVM内存模型常量池回收方法区垃圾回收流程圾收集算法分代收集理论标记-清除算法标记-复制算法标记-整理算法类加载过程 加载–验证–准备–解析–初始化–使用–卸载 ​ 加载&#xff1a;通过全类名获取类的二进制流…...

【LeetCode】剑指 Offer(21)

目录 题目&#xff1a;剑指 Offer 39. 数组中出现次数超过一半的数字 - 力扣&#xff08;Leetcode&#xff09; 题目的接口&#xff1a; 解题思路&#xff1a; 代码&#xff1a; 过啦&#xff01;&#xff01;&#xff01; 题目&#xff1a;剑指 Offer 40. 最小的k个数 -…...

线性求解器Ax=b的验证

文章目录前言Matrix MarketMatlab IORead dataWrite data测试C IORead and write dataDownload MatrixIO 代码下载参考网址前言 一般情况集成了一个线性求解器&#xff08;Axb&#xff09;&#xff0c;我们需要验证其性能和精度&#xff0c;这时需要大量数据来做验证&#xff…...

java 事件处理机制 观察者模式

事件处理机制有三个要素事件、事件源、事件监听与java的对应关系如下事件事件源事件监听javaclassjava.util.EventObjectjava.util.EventObject 的 source 属性interfacejava.util.EventListener观察者模式又被称为发布-订阅&#xff08;Publish/Subscribe&#xff09;模式&…...

使用 HTML5 轻松验证表单插件

下载:https://download.csdn.net/download/mo3408/87559594 效果图: 当您通过表单从人们那里收集信息时,必须应用某种验证。如果不这样做,可能会导致客户流失、数据库中的垃圾数据甚至网站的安全漏洞。从历史上看,构建表单验证一直很痛苦。在服务器端,全栈框架会为您处理…...

【Error: ImagePullBackOff】Kubernetes中Nginx服务启动失败排查流程

❌pod节点启动失败&#xff0c;nginx服务无法正常访问&#xff0c;服务状态显示为ImagePullBackOff。 [rootm1 ~]# kubectl get pods NAME READY STATUS RESTARTS AGE nginx-f89759699-cgjgp 0/1 ImagePullBackOff 0 103…...

九龙证券|直逼1.5万亿!A股融资余额创年内新高,青睐这些行业和个股

2023年以来&#xff0c;A股商场震动重复&#xff0c;商场走势整体先扬后抑&#xff0c;各路资金看法纷歧&#xff0c;但数据显现&#xff0c;融资客在此期间整体持续净买入&#xff0c;未受到商场动摇的明显冲击&#xff0c;融资余额日前已迫临1.5万亿元&#xff0c;创出年内新…...

【JavaScript】36_正则表达式

正则表达式 正则表达式 正则表达式用来定义一个规则通过这个规则计算机可以检查一个字符串是否符合规则 或者将字符串中符合规则的内容提取出来 正则表达式也是JS中的一个对象&#xff0c; 所以要使用正则表达式&#xff0c;需要先创建正则表达式的对象 new RegExp() 可以…...

参考 | 辨别真假笔记本三星内存条 (ddr4)

参考 | 辨别真假笔记本三星内存条 (ddr4) 文章目录参考 | 辨别真假笔记本三星内存条 (ddr4)1. 三星内存条标签纸上编码的含义2. 三星内存颗粒上编码的含义3. 辨别内容参考1. 三星内存条标签纸上编码的含义 内存条贴张上面有两串值得注意的编码, 其中编码的具体意义参考三星官方…...

JavaScript Math(算数)对象

Math&#xff08;算数&#xff09;对象的作用是&#xff1a;执行常见的算数任务。在线实例round()如何使用 round()。random()如何使用 random() 来返回 0 到 1 之间的随机数。max()如何使用 max() 来返回两个给定的数中的较大的数。&#xff08;在 ECMASCript v3 之前&#xf…...

MyBatis里面用了多少种设计模式?

在MyBatis的两万多行的框架源码中&#xff0c;使用了大量的设计模式对工程架构中的复杂场景进行解耦&#xff0c;这些设计模式的巧妙使用是整个框架的精华。经过整理&#xff0c;大概有以下设计模式&#xff0c;如图1所示。图101类型&#xff1a;创建型模式▊ 工厂模式SqlSessi…...

第三十二周精华分享(2023.02.27-2023.03.06)

本帖是知识星球各类问答以及文章精华沉淀区&#xff0c;而知识星球相关资源沉淀则在置顶帖的「资源沉淀」中。 学计算机的都应该知道有个局部性原理&#xff0c;其实局部性原理在很多场合都适用&#xff0c;比如80%的圈友的痛点或者疑惑其实都集中在一些固定的方面或者问题上&…...

数学建模资料整理

数学建模中有三类团队&#xff1a; 第一类&#xff1a;拿到题目&#xff0c;讨论&#xff0c;然后建模手开始建模&#xff0c;编程手开始处理数据&#xff0c;写作手开始写作。 第二类&#xff1a;拿到题目&#xff0c;团内大佬&#xff0c;开始建模&#xff0c;然后编程&#…...

设计模式---抽象工厂模式

目录 1 介绍 2 优缺点 3 实现 1 介绍 抽象工厂模式(Abstract Factory Pattern) 是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。 在抽象工厂模式中&#xff0c;接口是负…...

Java Web 实战 07 - 多线程基础之单例模式

大家好 , 这篇文章给大家带来的是单例模式 , 单例模式中分为懒汉模式和饿汉模式 , 懒汉模式是需要用的到的时候才去创建实例 , 而饿汉模式是程序一启动就立刻创建实例 , 在这其中还有很多其他问题需要我们去研究 推荐大家跳转到这里 , 观看效果更加 上一篇文章的链接我也贴在这…...

uniapp上实现左右关联滚动

先看效果&#xff1a; 代码&#xff1a; <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命令连接利用声明&#xff1a;本文仅供学习参考&#xff0c;其中涉及的一切资源均来源于网络&#xff0c;请勿用于任何非法行为&#xff0c;否则您将自行承担相应后果&#xff0c;本人不承担任何法律及连带责任。Docker简述 Docke…...

【蓝桥杯】第十四届蓝桥杯模拟赛(第三期)C++ (弱go的记录,有问题的话求指点)

博主是菜鸡啦&#xff0c;代码仅供参考&#xff0c;只确定能过样例&#xff0c;嘻嘻~第一题&#xff0c;填空题问题描述请找到一个大于 2022 的最小数&#xff0c;这个数转换成十六进制之后&#xff0c;所有的数位&#xff08;不含前导 0&#xff09;都为字母&#xff08;A 到 …...

算法24:LeetCode_并查集相关算法

目录 题目一&#xff1a;力扣547题&#xff0c;求省份数量 题目二&#xff1a;岛屿数量 题目三&#xff1a;岛屿数量拓展 什么是并查集&#xff0c;举个简单的例子。学生考试通常会以60分为及格分数&#xff0c;我们将60分及以上的人归类为及格学生&#xff0c;而60分以下归…...

TypeScript核心知识点

TypeScript 核心 类型注解 知道&#xff1a;TypeScript 类型注解 示例代码&#xff1a; // 约定变量 age 的类型为 number 类型 let age: number 18 age 19: number 就是类型注解&#xff0c;它为变量提供类型约束。约定了什么类型&#xff0c;就只能给该变量赋值什么类型的…...

基于“遥感+”融合技术在碳储量、碳收支、碳循环等多领域监测与模拟实践

以全球变暖为主要特征的气候变化已成为全球性环境问题&#xff0c;对全球可持续发展带来严峻挑战。2015年多国在《巴黎协定》上明确提出缔约方应尽快实现碳达峰和碳中和目标。2019年第49届 IPCC全会明确增加了基于卫星遥感的排放清单校验方法。随着碳中和目标以及全球碳盘点的现…...

外卖点餐系统小程序 PHP+UniAPP

一、介绍 本项目是给某大学餐厅开发的外面点餐系统&#xff0c;该项目针对校内的学生&#xff0c;配送由学校的学生负责配送。因此&#xff0c;该项目不同于互联网的外卖点餐系统。 该系统支持属于 Saas 系统&#xff0c;由平台端、商家端、用户端、以及配送端组成。 其中&a…...

vuex3的介绍与state、actions和mutations的使用

一、定义官网&#xff1a;Vuex 是什么&#xff1f; | Vuex (vuejs.org)Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态&#xff0c;并以相应的规则保证状态以一种可预测的方式发生变化。二、安装cdn<script src"/path/…...

windows 自带端口转发

使用Portproxy模式下的Netsh命令即能实现Windows系统中的端口转发&#xff0c;转发命令如下: netsh interface portproxy add v4tov4 listenaddress[localaddress] listenport[localport] connectaddress[destaddress]listenaddress – 等待连接的本地ip地址 listenport – 本…...

【算法】算法基础入门详解:轻松理解和运用基础算法

&#x1f600;大家好&#xff0c;我是白晨&#xff0c;一个不是很能熬夜&#x1f62b;&#xff0c;但是也想日更的人✈。如果喜欢这篇文章&#xff0c;点个赞&#x1f44d;&#xff0c;关注一下&#x1f440;白晨吧&#xff01;你的支持就是我最大的动力&#xff01;&#x1f4…...

2.9.1 Packet Tracer - Basic Switch and End Device Configuration(作业)

Packet Tracer - 交换机和终端设备的基本 配置地址分配表目标使用命令行界面 (CLI)&#xff0c;在两台思科互联网络 操作系统 (IOS) 交换机上配置主机名和 IP 地址。使用思科 IOS 命令指定或限制对设备 配置的访问。使用 IOS 命令来保存当前的运行配置。配置两台主机设备的 IP …...

AtCoder Beginner Contest 216(F)

F - Max Sum Counting 链接&#xff1a; F - Max Sum Counting 题意 两个 大小为 nnn 的序列 aiaiai 和 bibibi&#xff0c;任意选取一些下标 iii&#xff0c;求 max⁡(ai)>∑bi\max(ai) > \sum{bi}max(ai)>∑bi的方案数。 解析 首先考虑状态 一是和&#xff0c;…...

每天学一点之Stream流相关操作

StreamAPI 一、Stream特点 Stream是数据渠道&#xff0c;用于操作数据源&#xff08;集合、数组等&#xff09;所生成的元素序列。“集合讲的是数据&#xff0c;负责存储数据&#xff0c;Stream流讲的是计算&#xff0c;负责处理数据&#xff01;” 注意&#xff1a; ①Str…...

MatCap模拟光照效果实现

大家好&#xff0c;我是阿赵 之前介绍过各种光照模型的实现方法。那些光照模型的实现虽然有算法上的不同&#xff0c;但基本上都是灯光方向和法线方向的计算得出的明暗结果。 下面介绍一种叫做MatCap的模拟光照效果&#xff0c;这种方式计算非常简单&#xff0c;脱离灯光的计算…...

河北网站建设团队/怎么自己建网站

1.最简单的示例 pycharm命令终端运行python文件 2.切换盘路径 PyCharm Terminal 进入虚拟环境运行 如何使用cd命令 在pycharm的Terminal终端运行.py文件显示python不是内部或外部的命令...

网站描述关键词/自己如何优化网站排名

Oracle SGA主要由数据高整缓冲池&#xff08;database buffer cache&#xff09;&#xff0c;共享池(shared pool)&#xff0c;日志池(redo log buffer)&#xff0c;大池(large pool)&#xff0c;java池(java pool)组成&#xff0c;共享池部分由库高速缓存、字典高速缓存及其他…...

巩义便宜网站建设费用/上海短视频seo优化网站

今天发布的 Mac 开发的神秘面纱&#xff1a;后娘养的嫡长子 这篇文章&#xff0c;入选少数派 Matrix 精选&#xff0c;上了简书头条&#xff0c;V2EX 10 大热议帖子&#xff0c;掘金被推荐… 感觉&#xff0c;并不是因为我多牛、写得有多好&#xff0c;而是 现在的人们太浮躁&a…...

金乡县网站建设/千锋教育培训怎么样

1、不使用__slots__ class MyClass(object):def __init__(self, name, identifier):self.name nameself.identifier identifierobj MyClass(jack, 123) obj.k 456 print(obj.k) 默认情况下Python用一个字典来保存一个对象的实例属性。这非常有用&#xff0c;因为它允许我们…...

组培实验室建设网站/软文广告代理平台

解压缩&#xff1a; &#xff08;注意要确保当前目录下有该压缩包&#xff09;解压缩之后&#xff0c;进入/var/local/src/httpd-2.4.4/目录 ls查看目录下的文件可以先查看一下说明文件 less INSTALL./configure –prefix/usr/local/apache如果直接执行的话&#xff0c;会遇到如…...

wordpress文章出问题/福州百度代理

在学jsp的时候我每次都遇到路径的问题&#xff0c;每次都不能够说100%的把这搞定&#xff0c;这让我很烦恼&#xff0c;今天下午花了点时间来把路径问题整理了下。 一&#xff1a;首先我们在加载项目&#xff08;我的项目名称是FinalExam&#xff09;是的路径是http://localhos…...