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

建立充电站需要多少钱企业网站完整版

建立充电站需要多少钱,企业网站完整版,北京东道设计公司官网,win8 风格网站模板读源码 代码题 Void方法 ,也可以提前rerun;结束 RandomAccessFile类(随机访问文件) 在 Java 中,可以使用RandomAccessFile类来实现文件指针操作。RandomAccessFile提供了对文件内容的随机访问功能,它的文件指针可以通…

读源码

 

代码

        Void方法 ,也可以提前rerun;结束 

RandomAccessFile类(随机访问文件)

在 Java 中,可以使用RandomAccessFile类来实现文件指针操作。RandomAccessFile提供了对文件内容的随机访问功能,它的文件指针可以通过seek方法来设置。

例如,假设你有一个文件,想要从指定的偏移量(offset)处开始读取内容。以下是一个简单的示例代码:

import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;public class FileOffsetExample {public static void main(String[] args) {try {File file = new File("example.txt");RandomAccessFile raf = new RandomAccessFile(file, "r");long offset = 10; // 假设从第10个字节开始读取raf.seek(offset);byte[] buffer = new byte[100];int bytesRead = raf.read(buffer);String content = new String(buffer, 0, bytesRead);System.out.println(content);raf.close();} catch (IOException e) {e.printStackTrace();}}}

  • 在这个示例中,RandomAccessFile的seek方法用于将文件指针移动到指定的偏移量offset处。然后,通过read方法读取从该偏移量开始的内容。

理解文件指针的移动方式

  • 当你使用seek方法时,它会根据传入的偏移量来定位文件指针。偏移量是从文件开头开始计算的字节数。如果偏移量为 0,文件指针就位于文件的开头;如果偏移量大于文件的长度,根据RandomAccessFile的打开模式,可能会抛出IOException(在写模式下可能会扩展文件长度)。
  • 例如,如果你想在文件末尾添加内容,可以先将文件指针移动到文件的末尾,再进行写入操作。代码如下:

import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;public class AppendToFileExample {public static void main(String[] args) {try {File file = new File("example.txt");RandomAccessFile raf = new RandomAccessFile(file, "rw");raf.seek(raf.length()); // 将文件指针移到文件末尾String contentToAppend = "This is appended content.";raf.write(contentToAppend.getBytes());raf.close();} catch (IOException e) {e.printStackTrace();}}}

在这个示例中,raf.length()返回文件的当前长度,将文件指针移动到这个位置后,就可以在文件末尾写入新的内容。

Java实现一下密码长度不能大于 20 位,且其中任意挨着的 5 位不能相同且不能连续。

isValidPassword方法首先检查密码长度是否超过 20 位。

然后,它遍历密码字符串,每次取 5 个连续字符,检查这 5 个字符是否都相同以及是否连续。

如果发现不符合条件的情况,就返回false,如果整个遍历过程都没有问题,则返回true。在main方法中给出了一些测试示例。请注意,对于字符连续的检查假设了简单的编码连续情况,如果密码包含更复杂的字符集可能需要更精细的判断方法。

japublic class PasswordValidator {public static boolean isValidPassword(String password) {if (password.length() > 20) {return false;}for (int i = 0; i <= password.length() - 5; i++) {String fiveChars = password.substring(i, i + 5);// 检查是否有连续相同的5位字符boolean allSame = true;for (int j = 1; j < 5; j++) {if (fiveChars.charAt(j)!= fiveChars.charAt(0)) {allSame = false;break;}}if (allSame) {return false;}// 检查是否连续(这里假设字符编码是连续的,对于ASCII码数字和字母可以这样简单判断)boolean isConsecutive = true;for (int j = 0; j < 4; j++) {if ((int) fiveChars.charAt(j + 1) - (int) fiveChars.charAt(j)!= 1) {isConsecutive = false;break;}}if (isConsecutive) {return false;}}return true;}public static void main(String[] args) {System.out.println(isValidPassword("abcdefghijklmnopqrst"));System.out.println(isValidPassword("aaaaabbbbbcccccd"));System.out.println(isValidPassword("abcde12345fghij"));}}

冒泡算法-快排算法

  public static void bubbleSort(int[] array) {int n = array.length;for (int i = 0; i < n - 1; i++) {for (int j = 0; j < n - i - 1; j++) {//>  升序//<  降序if (array[j] > array[j + 1]) {// 交换元素int temp = array[j];array[j] = array[j + 1];array[j + 1] = temp;}}}}public static void main(String[] args) {int[] array = {5, 3, 8, 6, 4};bubbleSort(array);for (int value : array) {System.out.print(value + " ");}}

        //冒泡排序的时间复杂度为O(n*n)      

快速排序算法是一种时间复杂度为O(nlogn)的排序算法

算法思想:用数组的第一个数作为基准数据,然后将所有比它小的数都放到它左边,所有比它大的数都放到它右边,这个过程称为一趟快速排序。

Java中的String有没有长度限制

String s = "xxx";定义String的时候,xxx被我们称之为字面量,这种字面量在编译之后会以常量的形式进入到Class常量池。因为要进入常量池,就要遵守常量池的有关规定。

字符串有长度限制,在编译期,要求字符串常量池中的常量不能超过65535,并且在javac执行过程中控制了最大值为65534。

在运行期,长度不能超过Int的范围,否则会抛异常

String s = new String(xyz) 创建了几个对象

String str = new String(“abc”); 至少会创建一个对象,也有可能创建两个

因为用到new关键字,肯定会在堆中创建一个String对象,

如果字符池中已经存在”abc”, 则不会在字符串池中创建一个String对象,

如果不存在,则会在字符串常量池中也创建一个对象。

字符串常量池

jvm为了提升性能和减少内存开销,避免字符的重复创建,其维护了一块特殊的内存空间,

即字符串池,当需要使用字符串时,先去字符串池中查看该字符串是否已经存在,

如果存在,则可以直接使用,如果不存在,初始化,并将该字符串放入字符创常量池中。

int a = 2;Integer b = 2;Integer c = new Integer(2);//trueSystem.out.println(a == b);//告警 包装类型相等用equals替换// System.out.println(b == c);String x = "abc";String y = "a" + "bc";//true ,拼接之后y还是abc,所以还是会指向字符串常量池的内存地址System.out.println(x == y);String z = new String("abc");//falseSystem.out.println(y == z);String str1 = "hello";String str2 = "he" + new String("llo");System.out.println(str1 == str2);  falseString str = "abc";String str1 = "abc";String str2 = "abc";System.out.println(str==str1);//trueSystem.out.println(str==str2);//true也就是str、str1、str2都是指向同一个内存地址。String str = "abc";     //在常量池中创建abcString str1 = "abcd";  //在常量池中创建abcdString str2 = str+"d";    //拼接字符串,此时会在堆中新建一个abcd的对象,因为str2编译之前是未知的String str3 = "abc"+"d";  //拼接之后str3还是abcd,所以还是会指向字符串常量池的内存地址System.out.println(str1==str2);//falseSystem.out.println(str1==str3);//true

String str = “abc”;  可能创建一个或者不创建对象

如果”abc”在字符串池中不存在,会在java字符串池中创建一个String对象(”abc”),

然后str指向这个内存地址,无论以后用这种方式创建多少个值为”abc”的字符串对象,

始终只有一个内存地址被分配。

总结:==判断的是对象的内存地址,而equals判断的是对象内容

项目中还是不要使用new String去创建字符串,最好使用String直接赋值

String直接赋值与使用new String的区别_new string和直接赋值的区别-CSDN博客

String 和 StringBuffer,StringBuilder 的区别 - JohnieCheng - 博客园

xie.infoq.cn/article/9ff230e91d0ec22f705c4c8f4

面试题整理:Error与Exception的区别_面试题error和exception的区别-CSDN博客

== equals 区别

==比较的是变量栈内存中存放的堆内存地址,看它们是否是同一对象。(常量池问题->10、10L、10.0 相同)

Equal 用来比较两个对象的值是否相等,由于所有的类都继承自Object类,所以适用于所有对象,如果没有对该方法重写进行覆盖,调用仍然是Object类的方法,Object  中equals方法返回的却是==判断。常量写在前面,避免报空指针。

  1. equals 是object类方法,而 == 是操作符;
  2. 对于基本类型的变量来说(如 short、 int、 long、 float、 double),只能使用 == ,

因为这些基本类型的变量没有 equals 方法。对于基本类型变量的比较,使用 == 比较,

   一般比较的是它们的值。

  1. 对于引用类型的变量来说(例如 String 类)才有 equals 方法

因为 String 继承了 Object   类,equals 是 Object 类的通用方法。

对于该类型对象的比较,

默认情况下,没有复写 Object 类的 equals 方法,

使用 == 和 equals 比较是一样效果的

都是比较的是它们在内存中的存放地址。但是对于某些类来说,为了满足自身业务需求,

可能存在 equals 方法被复写的情况使用 equals 方法会比较它们的值

注意:

所有比较是否相等时,Equals对常量比较时,把常量写在前面

因为使用object的 equals object 可能为有null指针。

基本类型比较,那么只能用==来比较,不能用equals ,如果是基本类型的包装类型,那么用equals

== 和 equals 的区别是什么?-腾讯云开发者社区-腾讯云

待更新


文章转载自:

http://3Mlr1MmX.wtdyq.cn
http://GWQjahd2.wtdyq.cn
http://P7NQZ9vd.wtdyq.cn
http://7TVxNavd.wtdyq.cn
http://26GQNGFx.wtdyq.cn
http://mWVMy71R.wtdyq.cn
http://GAB5nbJY.wtdyq.cn
http://JaxVGrnA.wtdyq.cn
http://hheNDgpQ.wtdyq.cn
http://o71RKdr5.wtdyq.cn
http://hhIiHvrj.wtdyq.cn
http://b3L948Xn.wtdyq.cn
http://lbnO1qnE.wtdyq.cn
http://NZyEixnU.wtdyq.cn
http://cq6QBK2G.wtdyq.cn
http://Vj5v79vA.wtdyq.cn
http://FgOY3Dh0.wtdyq.cn
http://My7r4yVY.wtdyq.cn
http://5IV7m1KW.wtdyq.cn
http://9gG6AqN4.wtdyq.cn
http://1QoGxUED.wtdyq.cn
http://RDmxe9q1.wtdyq.cn
http://AowCAIZk.wtdyq.cn
http://jxlXZghH.wtdyq.cn
http://0LOPhyvu.wtdyq.cn
http://5GZxkM3q.wtdyq.cn
http://3tl920xE.wtdyq.cn
http://GwtQ8WNb.wtdyq.cn
http://161rk5XC.wtdyq.cn
http://NoB5EdhS.wtdyq.cn
http://www.dtcms.com/wzjs/618625.html

相关文章:

  • 学校网页网站模板免费下载郑州生活信息网
  • 石家庄哪里有网站建设美容院网站建设方案书
  • 一个网站可以做多少弹窗广告大淘客网站建设
  • 天水市秦州区建设局网站临港注册公司优惠政策
  • 宁波网站建设lonoo做网站用什么团建
  • 网站外地备案网站模板目录扫描
  • 成都网站建设优点最贵网站建设报价
  • 自己做网站哪里最好合肥城建
  • 网站在线支付接口申请凡科小程序免费制作平台
  • 网站上一页下一页怎么做全国八大员报名官方网站
  • 建设网站是什么旅游网站开发项目介绍
  • 从哪方面建设网站中国科技成就按时间顺序
  • 创业网站开发软文写作技巧有哪些
  • 做网站备案实名需要钱吗室内装修设计软件排行榜
  • 彩票网站开发系统如何搭建荆州网站建设推荐
  • 康复中心网站建设方案盐田做网站
  • 怎样投网站广告oa办公管理系统哪个好
  • 广西网络公司网站建设wordpress大前端主题免费试用
  • 做网站的收入开源的低代码开发平台
  • 做彩票网站犯法不网络开发软件
  • 广告公司网站官网txt 发布 wordpress
  • 珠海网站建设费用中山软件开发公司
  • 网站移动端怎么做百度搜题网页版入口
  • 做网站都需要准备什么软件企业邮箱号是什么样的格式
  • 网站如何建设个人主页经典句子
  • 高端定制网站建设公司字节跳动直播开放平台
  • 适合做公司网站的cms邯郸网站建设产品介绍
  • 中国林业工程建设协会官方网站网页设计制作方案
  • 色轮 网站江西萍乡做网站公司
  • 电子产品网站建设模板少儿编程十大培训机构加盟