【蓝桥杯备赛Java组】语言基础|竞赛常用库函数|输入输出|String的使用|常见的数学方法|大小写转换

  • 🎥 个人主页:深鱼~
  • 🔥收录专栏:蓝桥杯
  • 🌄欢迎 👍点赞✍评论⭐收藏

目录

一、编程基础

1.1 Java类的创建

 1.2 Java方法

 1.3 输入输出

 1.4 String的使用

二、竞赛常用库函数

1.常见的数学方法

2.大小写转换


推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站


一、编程基础

1.1 Java类的创建

1. 蓝桥杯Java 语言开发环境

JDK 1.8
Eclipse-java-2020-09
API 帮助文档(中文,chm格式)

所以我们要学会用Eclipse,虽然idea真的香,但是我们还是得熟悉这个环境,推荐大家下载下面这个最基础的版本

2.main()的方法的声明:public static void main(String args[ ]) (必须这么定义,这是Java的规范)

其中public static void 为类型,main为方法名,参数类型为String[ ] ,参数名为args只有这个参数名可以改,但是也不建议改

3.static关键字方便在没有创建对象的情况下进行调用(方法/变量),因为static修饰的成员变量和方法,从属于类

4.final修饰符:变量一旦被赋值后,不能被重新赋值(final通常和static一起用来创建类常量

5.Java的内置数据类型比C语言多了byte类型(8位)和boolean类型(只有两个取值,false和true,未初始化时默认的就是false


 1.2 Java方法

1.定义一个方法包含以下语法:

System.out.printIn( ):System是系统类,out是标准输出对象,printIn( )是一个方法

这句话的意思就是调用系统类System中的标准输出对象out中的方法printIn()

2.方法的重载:就是说一个类的两个方法具有相同的名字,但是参数列表不同(参数个数不同/顺序不同/类型不同都可以)

 3.算法中的常见方法:

(1)gcd(求两个整数x,y的最大公约数)

public static int gcd(int x,int y) {
		if(y==0) 
			return x;
		return gcd(y,x%y);
	}

 思想:辗转相除法

举例:

a=28,b=21                                                     a=21,b=28

c=a%b=7(c!=0)                                      c=a%b=21(c!=0)

a=b=21;                                                         a=b=28

b=c=7;                                                         b=c=21(这时候a和b交换了)

c=a%b=0

直接输出b=7(最大公约数)

将上面递归代码转为循环的形式:

public static int gcd(int a,int b) {
		int c = 0;
		while(b!=0) {
			c = a%b;
			a = b;
			b = c;
		}
		return a;
	}

(2)Icm(求两个整数的最小公倍数)

public static int lcm(int x,int y) {
		return x*y/gcd(x,y);
	}

思路:x * y=这两个数的最大公约数 * 最小公倍数

(3)判断一个整数是否为质数

public static boolean isPrime(int x) {
		if(x==1) {
			return false;//1特殊,不是质数
		}
		for(int i=2;i<x;i++) {
			if(x%i==0)
			return false;
		}
		return true;
	}

 1.3 输入输出

1.输入方法(Scanner类):

(1)需要导入java.util包

(2)构造Scanner对象,参数为标准输入流System.in

2.Scanner类的9大输入方法

(1)nextBoolean(),nextInt(),nextLong(),nextByte(),nextFloat(),nextDouble(),nextShort()//接收基本数据类型

(2)next() //接收读取不带空格的字符串,遇到空格读取结束

(3)nextLine() //接收读取整段字符串,以Enter为结束符,可读取空格字符

3.输出方法

(1)System.out.print() //最常见的输出语句

(2)System.out.println() //和上面一个基本一样,区别就是执行后会换行

(3)System.out.printf() //跟C语言一样的输出,通过格式化文本和参数列表输出

eg:结果保留两位小数: System.out.printf("%.2f",13.14520);  //13.15

简单真题实战:A+B 问题【OJ 示例题目】 - 蓝桥云课


 1.4 String的使用

1.String类的特点:

(1)创建后不能改

(2)new方式创建的地址不同 eg:String str = new String()

(3)双引号内容相同,地址相同 eg:String str ="abc"

2.StringBuilder类和String类的区别:

(1)String的值不可变,StringBuilder的值是可变的

(2)String适于少量的字符串的情况;StringBuilder适于需要对字符串进行修改的情况

3.String常用方法:

(1)常见的两种构造方法:

String str = new String();//创建一个null字符串对象

String str = new String("code");//创建一个为code的字符串对象

(2)char charAt(int index) //返回指定索引的字符

(3)int compareTo(Object o) //把这个字符串和另一个对象比较。大于返回1,等于返回0,小于返回-1

(4)String concat(String str) //将指定字符串连接到此字符串的结尾,并赋给新的字符串

(5)boolean equals(String str) //将此字符串与指定的字符串比较

(6)int indexOf(String str) //返回指定子字符串在此字符串中第一次出现处的索引。没出现返回-1

(7)int length()//返回此字符串的长度

(8)String substring(int beginIndex,int endIndex) //返回一个新字符串,它是此字符串的一个子字符串(注意是左闭右开)

(9)char[] toCharArray() //将此字符串转换为一个新的字符数组

(10)boolean isEmpty() //判断字符串是否为空

 4.StringBuilder常见方法

(1)常见的构造方法:

StringBuilder str = new StringBuilder();//创建一个null字符串对象

(2)void append(Object obj) //追加 Object参数的字符串表示形式

(3)int indexOf(Strring str) //返回指定子字符串第一次出现的字符串中的索引.

(4)StringBuilder reverse() //返回一个StringBuilder的对象,为该对象的反转并赋值给一个字符串

(5)boolean isEmpty() //判断字符串是否为空

(6)int charAt(int index) //返回指定索引的字符

简单真题实战:数字反转 - 蓝桥云课


二、竞赛常用库函数

1.常见的数学方法

使用时都要加上Math.(M要大写)

方法返回值功能
max(double a, double b)doublea和b之间的最大值
min(double a, double b)doublea和b之间的最小值
abs(int a)int返回参数的绝对值
sqrt(double a)double取a的平方根,其中a不能为负数
cbrt(double a)double取a的立方根
pow(double a, double b)double取a的b次方

例题:输入n个整数 a1,a2,a3....an,求这n个数的最大值max,最小值min,以及 ai-aj绝对值的最大值(i!=j)(n<=1000.ai<=1000)
实例:
输入:5
1 2 3 4 5
输出:5 1 4 

思路:

(1)先定义max和absmax为0,min为 Integer.MAX_VALUE

(2)单次循环遍历用max和min方法求最大值和最小值

(3)双重循环求差值,并用abs方法求差的绝对值;再用max方法求绝对值的最大值

import java.util.*;
public class Main {
	public static void main(String [] args) {
		//输入
		Scanner s = new Scanner(System.in);
		int n = s.nextInt();
		int []f = new int [n];
		int max = 0, min = Integer.MAX_VALUE, absmax = 0;
		for(int i=0;i<n;i++) {
			f[i] = s.nextInt();
		}
		//求max和min
		for(int i=0;i<n;i++) {
			max = Math.max(f[i], max);
			min = Math.min(f[i], min);
		}
		//求absmax
		for(int i=0;i<n;i++) {
			for(int j=0;j<n;j++) {
				if(i==j) continue;
				absmax = Math.max(Math.abs(f[i]-f[j]), absmax);
			}
		}
		//输出
		System.out.print(max+" "+min+" "+absmax);
		
	}

}

2.大小写转换

(1)方法转换

语法格式如下:

字符串名.toLowerCase() // 将字符串中的字母全部转换为小写,非字母不受影响

字符串名.toUpperCase() // 将字符串中的字母全部转换为大写,非字母不受影响

public static void main(String[] args) {
        String str = "ADaddcD";
        String str1 = str.toLowerCase();//大写字母转换为小写字母,非字母字符不变
        System.out.println(str1);//adaddcd

        String str2 = "adadcDAD";
        String str3 = str2.toUpperCase();//小写字母转为大写字母,非字母字符不变
        System.out.println(str2);//adadcDAD
    }

(2)异或转换

将一个字符串中的大写字母转换成小写字母,小写字母转换成大写字母:
一个字符a异或数字32就可以完成小写转换
实例:charA=a^32        char a=A^32

原理:a = 01100001 A = 01000001(大小写字母的二进制ASCII码只有第6位有所不同

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        for (int i = 0; i < str.length(); i++) {
            char x = str.charAt(i);
            if(x>='a'&&x<='z'||x>='A'&&x<='Z') {
                x^=32;
            }
            System.out.print(x);
        }
    }

本次内容就到此啦,欢迎评论区或者私信交流,觉得笔者写的还可以,或者自己有些许收获的,麻烦铁汁们动动小手,给俺来个一键三连,万分感谢 !

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MES管理系统为何成为汽配企业的刚需

随着经济全球化、产品定制化及安全法规的严格化&#xff0c;汽配企业的经营环境变得越来越复杂。中国劳动力资源和原辅料成本的持续上升&#xff0c;导致行业利润率不断下滑。为了应对这些挑战&#xff0c;汽配企业需要引入一种精益制造和管理的工具&#xff0c;而MES管理系统正…

【Linux】权限 !

Linux 权限 Liunx Linux 权限1 什么是权限1.1 Linux用户1.2 切换用户 2 权限管理2.1 文件访问者的分类2.2 文件类型和访问权限2.3 文件权限的设置方法chmod 命令chown 命令chgrp 命令umask 命令file 指令 2.4 目录权限粘滞位 3 权限总结 1 什么是权限 关于Linux的权限问题&…

HarmonyOS 通过Web组件嵌套网络应用

我们今天来说说 在程序中嵌套一个网址地址 HarmonyOS中是通过一个简单的WEB组件来实现 网络应用就是相当于网址地址 通过链接将应用嵌入到手机当中 WEB组件需要两个参数 一个是 src 地址 要嵌套的网址 另一个是 控制器 我们可以先编写代码如下 import webview from "o…

python自动化操作安卓app

由于个人的强迫症缘故&#xff0c;代码均没有做实际测试&#xff0c;由于公司电脑比较卡&#xff0c;自己电脑强迫症&#xff0c;相信各位知道大概都可以找解决方案&#xff0c;解决不了就找我私聊 一、准备工作 安装链接 出现了手机版本过高 解决方案 课程地址&#xff1…

选择排序(二)——堆排序(性能)与直接选择排序

目录 一.前言 二.选择排序 2.1 堆排序 2.2选择排序 2.2.1 基本思想 2.2.2直接选择排序 三.结语 一.前言 本文给大家带来的是选择排序&#xff0c;其中选择排序中的堆排序在之前我们已经有过详解所以本次主要是对比排序性能&#xff0c;感兴趣的友友可移步观看堆排&#…

代码随想录二刷 | 回溯| 电话号码的字母组合

代码随想录二刷 &#xff5c; 回溯&#xff5c; 电话号码的字母组合 题目描述解题思路数字和字母如何映射回溯法来解决n个for循环的问题 代码实现 题目描述 17&#xff0c;电话号码的字母组合 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。 给出…

蓝桥杯官网填空题(奇怪的分式)

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 上小学的时候&#xff0c;小明经常自己发明新算法。一次&#xff0c;老师出的题目是&#xff1a;1/4乘以8/5 小明居然把分子拼接在一起&#xff0c;分母拼接在一起&…

mybatis的缓存机制

视频教程_免费高速下载|百度网盘-分享无限制 (baidu.com) MyBatis 有一套灵活而强大的缓存机制&#xff0c;主要分为两级缓存&#xff1a;一级缓存&#xff08;本地缓存&#xff09;和二级缓存&#xff08;全局缓存&#xff09;。 一级缓存&#xff08;本地缓存&#xff09;&a…

赛氪受邀参加安徽省翻译协会2023年年会

安徽省翻译协会于近日在合肥成功举办2023年年会暨学术研讨会。本次会议旨在服务党和国家工作大局&#xff0c;广泛汇聚翻译界力量&#xff0c;推动翻译行业高质量发展&#xff0c;同时总结一年来我省翻译界成果&#xff0c;谋划明年工作。 安徽省翻译协会2023年年会暨学术研讨会…

学会一些品酒词汇显得有文化

日常聚会饮用葡萄酒或者参加品鉴酒会时&#xff0c;我们经常可以听到人们使用非常专业的词汇如“单宁顺滑”、“紧涩”或者“酸度活泼”等等。品酒词不仅可以帮助我们更好地去认识了解一款葡萄酒&#xff0c;也能更好地表达我们对一款葡萄酒的感受和看法。学会一些专业品酒词汇…

deepin20.9设置root登录

首先设置root 账户密码 sudo passwd root创建 /etc/lightdm/lightdm-deepin-greeter.conf&#xff0c;输入以下内容 sudo touch /etc/lightdm/lightdm-deepin-greeter.conf sudo deepin-editor /etc/lightdm/lightdm-deepin-greeter.conf [General] loginPromptInputtrue别忘…

unity 单例模式(实例详解)

文章目录 在Unity中&#xff0c;单例模式是一种常用的编程设计模式&#xff0c;用于确保在整个应用程序生命周期中&#xff0c;只有一个类的实例存在。这样可以保证数据的全局唯一性和共享性&#xff0c;例如游戏场景中的资源管理器、游戏控制器、事件管理器等。 以下是一个简单…

海外抖音TikTok、正在内测 AI 生成歌曲功能,依靠大语言模型 Bloom 进行文本生成歌曲

近日&#xff0c;据外媒The Verge报道&#xff0c;TikTok正在测试一项新功能&#xff0c;利用大语言模型Bloom的AI能力&#xff0c;允许用户上传歌词文本&#xff0c;并使用AI为其添加声音。这一创新旨在为用户提供更多创作音乐的工具和选项。 Bloom 是由AI初创公司Hugging Fac…

vue3相比vue2的效率提升

1、静态提升 2、预字符串化 3、缓存事件处理函数 4、Block Tree 5、PatchFlag 一、静态提升 在vue3中的app.vue文件如下&#xff1a; 在服务器中&#xff0c;template中的内容会变异成render渲染函数。 最终编译后的文件&#xff1a; 1.静态节点优化 那么这里为什么是两部分…

2024年图像处理与大数据信息应用国际会议(ICIPCDIA 2024)

2024年图像处理与大数据信息应用国际会议(ICIPCDIA 2024) 2024 International Conference on Image Processing and Big Data Information Applications(ICIPCDIA 2024) 数据库&#xff1a;EI,CPCI,CNKI,Google Scholar等检索 一、【会议简介】 ​2024年图像处理与大数据信息应…

Qt网络通信

1. UDP通信 1.1 udp通信的基本流程 创建套接字 绑定套接字 进行通信 关闭套接字 涉及到的类和信号 QUdpSocket&#xff1a;Udp套接字类&#xff0c;类对象就是一个udp套接字对象 QHostAddress&#xff1a;ip地址类 void readyRead()&#xff1a;信号&#xff0c;当有数据到达可…

曲线生成 | 图解三次样条曲线生成原理(附ROS C++/Python/Matlab仿真)

目录 0 专栏介绍1 什么是样条&#xff1f;2 三次样条曲线原理2.1 曲线插值2.2 边界条件2.3 系数反解 3 算法仿真3.1 ROS C仿真3.2 Python仿真3.3 Matlab仿真 0 专栏介绍 &#x1f525;附C/Python/Matlab全套代码&#x1f525;课程设计、毕业设计、创新竞赛必备&#xff01;详细…

vue3-图片懒加载指令实现

图片懒加载&#xff1a;有些网站页面比较长&#xff0c;用户不一定访问到页面靠下面的图片&#xff0c;这类图片通过懒加载优化手段可以做到只有进入视口区域才发送图片请求 指令用法 //在图片img身上绑定指令&#xff0c;该图片只有正式进入到视口区域时才会发送图片网络请求…

腾讯云tsf平台-部署微服务项目

腾讯云tsf平台-部署微服务项目 一、腾讯云tsf平台简介二、部署准备0&#xff08;数据库、中间件等部署&#xff09;三、部署准备1&#xff08;创建集群和命名空间&#xff09;1、准备部署资源--集群2、使用容器部署微服务步骤 1&#xff1a;创建容器集群步骤 2&#xff1a;创建…

Linux服务部署,遇到的各种问题之一(测试篇)

最近服务器需要搬迁&#xff0c;所有的服务都需要迁移&#xff0c;从初始化数据盘&#xff0c;到服务部署的各种细节&#xff0c;下面我们一一来说 初始化数据盘就不用说了&#xff0c;大概率&#xff0c;作为测试接触不到。 今天来说是ubuntu显示的中文文件乱码问题如何解决…