第四节 Java常用API

Flink原理与实战(java版)#第6章 Flink的 DataStream API(第四节转换算子) 第四介绍了Flink的23种常用的转换算子、物理分区算子链和资源组以及名字和描述的内容,同时针对比较常用的给出了相应的示例,比如OutputTag和Process算子代替Split和Select示例。 阅读详情

1. 字符串操作API(String和String Buffer)

不同的字符串之间我们可以用“+”号去连接,形成一个新的字符串。当一个不是字符串的通过加号连接,会进行自动的转换为字符串。

1.1 String类

利用String创建字符串的三种方式:
public class Stringop {
    public static void main(String[] args) {
        String str1="第一种方法创建字符串";
        String str2=new String("第二种方法去创建字符串");
        char[] ch={'a','b','c'};
        String str3=new String(ch);
        System.out.println(str1);
        System.out.println(str2);
        System.out.println(str3);
    }
}

1.1.1 String类常用方法

public class Example01 {
    public static void main(String[] args) {
        //定义一个字符串
        String str1="abcdefga";
        //1.返回指定字符或字符串在字符串中第一次出现的索引
        System.out.println(str1.indexOf("ab"));
        System.out.println(str1.indexOf('a'));
        System.out.println(str1.indexOf(97));
        //2.返回指定字符或字符串在字符串中最后一次出现的索引
        System.out.println(str1.lastIndexOf('a'));
        System.out.println(str1.lastIndexOf(97));
        System.out.println(str1.lastIndexOf("ab"));
        //3.返回指定索引处的字符
        System.out.println(str1.charAt(0));
        //4.判断字符串是否以指定字符串结尾
        System.out.println("str1是以ga结尾吗?"+str1.endsWith("ga"));
        //5.返回这个字符串的长度
        System.out.println("字符串的长度为:"+str1.length());
        //6.判断字符串是否与指定字符串值相等
        System.out.println(str1.equals("aaa"));
        //7.判断某字符串是否为空
        System.out.println(str1.isEmpty());
        //8.判断字符串是否以某字符串开头
        System.out.println(str1.startsWith("a"));
        //9.判断字符串是否包含某字符串
        System.out.println(str1.contains("abcd"));
        //10.将所有字符串中所有字符转换为小写
        System.out.println(str1.toLowerCase());
        //11.将所有字符串中的所有字符都转换为大写
        System.out.println(str1.toUpperCase());
        //12.将数值类型的变量转换为字符串
        System.out.println(String.valueOf(23));
        //13.将字符串转换为字符数组
        char[] ch;
        ch=str1.toCharArray();
        System.out.println(ch.toString());
        //14.将字符串中的字符串序列进行替换
        String str2=str1.replace("ab","aa");
        //15.根据参数值进行分割
        String[] strarr;
        strarr=str1.split("bc");
        System.out.println(strarr);
        //16.从指定位置进行截取
        System.out.println(str1.substring(2));
        System.out.println(str1.substring(2,4));
        //17.去除字符串首尾的空格
        System.out.println(str1.trim());
    }
}

注意:在这里面的equals()方法和==的区别:
equals()比较的是两个字符串的值是否相等,而==比较的是两个字符串的内存地址。

        String str3="abcd";
//        String str4=new String("abcd");(1)
        String str4="abcd";//(2)
        System.out.println(str3==str4);//(1)false,(2)true
        System.out.println(str3.equals(str4));//(1)true (2)true

1.2 StringBuffer类

与String类的区别:
(1)在Java中String类是final类型,所以使用String定义的字符串是一个常量,一旦创建,内容和长度是不可以改变的,如果要对一个字符串进行修改,则只能创建一个新的字符串。而StringBuffer它的内容和长度是可以改变的,当我们操作这个字符串就是在操作这个字符串容器。
(2)String重写了Object类的equals()方法,而StringBuffer没有重写,Object里的equals()方法与Object里面的不一样需要注意,String里面的只比较值,而StringBuffer比较的是内存地址与==一样,
(3)String对象中的字符串可以用“+”号连接,而StringBuffer中的字符串不可以用“+”号连接。

常见的方法使用:

public class Example02 {
    public static void main(String[] args) {
        StringBuffer strbuf=new StringBuffer("abcdefg");
        System.out.println("返回字符串对象:"+strbuf.toString());
        //进行添加
        System.out.println(strbuf.append('h'));
        //进行在指定位置插入元素
        System.out.println(strbuf.insert(strbuf.length()-1,'i'));
        //进行删除指定位置字符
        System.out.println(strbuf.deleteCharAt(strbuf.length()-1));
        //删除指定范围的字符串
        System.out.println(strbuf.delete(strbuf.length()-1,strbuf.length()));
        //指定字符串范围进行替换
        System.out.println(strbuf.replace(0,1,"cc"));
        //修改指定位置的字符
        strbuf.setCharAt(0,'a');
        System.out.println(strbuf);
        strbuf.reverse();
        System.out.println(strbuf);
    }
}

StringBuffer 与StringBuilder的区别:
StringBuilder同样可以操作字符串,并且方法与StringBuffer类似,但是与StringBuffer不同的是StringBuffer是线程安全的,而StringBuilder不是线程安全的,但是它的性能会比较高一些。

2.System类与Runtime类

2.1 System类

这个类主要用来操作系统的一些相关属性和方法。

System常用方法:
(1)static void exit(int status):用来终止Java虚拟机运行,status值不为0表示非正常终止。我们通过状态码可以看看我们程序是否有错误出现
(2)static void gc():运行垃圾回收器
(3)static native long currentTimeMillis():返回当前据1970年1月1号的毫秒数

(4)arraycopy(Object src,int srcPos,Object dest,int destPos,int length)的使用:用来copy数组。
int[] srcArry={1,2,3,4};
int[] destArry={5,6,7,8};
System.arraycopy(srcArry,0,destArry,0,3);
结果就变成了,{1,2,3,8}
(5)static Properties getProperties():获取当前系统属性
public class Example04 {
    public static void main(String[] args) {
        Properties properties=System.getProperties();
        System.out.println(properties);
        //获取所有系统属性的属性名,返回Set对象
        Set<String> propertyNames=properties.stringPropertyNames();
        for(String key:propertyNames){
            //System的另一个方法获得指定键的系统属性值
            String value=System.getProperty(key);
            System.out.println(key+"--->"+value);
        }
    }
}

2.2 Runtime类

用于表示Java虚拟机运行时的状态,它用于封装Java虚拟机进程。每次使用java命令启动Java虚拟机都会对应一个Runtime实例,并只有一个实例,应用程序会通过该实例与其运行时的环境相连。应用程序不能创建自己的Runtime实例,但是我们可以通过Runtime.getRuntime()方法来获取Runtime对象

Runtime的使用示例:

public class RuntimeExam {
    public static void main(String[] args) {
        Runtime rt=Runtime.getRuntime();
        System.out.println("处理器的个数:"+rt.availableProcessors()+"个");
        System.out.println("空闲内存大小:"+rt.freeMemory()/1024/1024+"M");
        System.out.println("最大可用内存大小:"+rt.maxMemory()/1024/1024+"M");
    }
}

其中里面有一个exec()方法用来执行DOS命令,返回一个Process对象
使用如下:

public class RuntimeExec {
    public static void main(String[] args) throws InterruptedException, IOException {
        Runtime rt=Runtime.getRuntime();
        //打开记事本
        Process process=rt.exec("notepad.exe");
        Thread.sleep(3000);
        //关闭记事本
        process.destroy();
    }
}

3. Math类和Random类

3.1 Math类

Math所有的方法都是静态的,它的构造方法被private修饰了,所以不可以创建Math对象。

//Math里面的两个常量值:PI和E,一个代表Π,一个代表e
abs(数值)//计算绝对值
sin(数值)//计算正弦值
cos(数值)//计算余弦值
tan(数值)//计算正切值
sqrt(数值)//计算平方根
cbrt(数值)//计算立方根
pow(数值1,数值2)//求乘方
ceil(数值)//大于参数的最小整数(返回的是double类型的)
floor(数值)//小于参数的最大整数(返回的是double类型的)
round(数值)//四舍五入后的结果(返回的整数)
max(数值1,数值2..)//求最大值
min(数值1,数值2...)//求最小值
random()//随机生成一个大于等于0.0,小于1.0的随机值

3.2 Random类

用来随机生成数字
两个构造方法:
(1)Random():空参构造方法,每次实例化都会生成不同的随机数
(2)Random(long seed):当seed相同时,每次实例化对象生成相同的随机数。(用来创建多个Random实例对象产生相同序列的随机数)

常用方法:
(1)boolean nextBoolean():随机生成boolean类型的随机数
(2)double nextDouble():随机生成double类型的随机数(0.0到1.0之间)
(3)Float nextFloat():随机生成Float类型的随机数(0.0到1.0之间)
(4)int nextInt():随机生成int类型的随机数
(5)int nextInt(int n):随机生成[0,n)之间int类型的随机数
(6)long nextLong():随机生成long类型的随机数

4. 包装类

包装类就是基本数据类型对应的引用数据类型
除了int的包装类型是Integer,char的包装类是Character,其他的包装类都是基本数据类型的首字母大写即可,比如:byte的包装类型为Byte。
在包装类和基本数据类型进行转换时有自动装箱和自动拆箱的概念。
自动装箱:将基本数据类型赋值给包装类型
自动拆箱:将包装类对象直接赋值给一个对应的基本数据类型。

4.1 基本数据类型、基本数据类型包装类以及字符串之间的转换

(1)通过引用数据类型字符串String类的valueOf()可以将八种基本数据类型转换为对应的字符串类型
(2)通过八种包装类的静态方法valueOf()可以将对象将对应的基本数据类型转换为包装类,也可以将变量内容匹配的字符串转换为对应的包装类(Character除外)例如:我们可以通过以下的形式int a=Integer.valueOf(“123”);将字符串转换为它对应的整数类型
(3)通过八种包装类的有参构造方法可以将基本数据类型转换为包装类,也可以将变量内容匹配的字符串转换为对应的包装类(Character包装类除外)例如:int a=new Integer(“123”);
(4)通过8种包装类的静态方法parseXxx()可以将变量内容匹配的字符串转换为对应的基本数据类型。
例如:
double a=Double.parseDouble(“123.4”);
(5)包装类都重写了toString()方法以字符串的形式返回被包装的基本数据类型值。例如:String a=new Integer(12).toString()

5. 日期与时间类

5.1 Date类

在JDK8之后使用的就比较少了(设计的时候没有考虑到国际化的问题,现在被Calendar类取代),主要使用的两个构造方法为:
(1)Date():用来创建当前日期时间的Date对象
(2)Date(long date):用来创建指定时间的Date对象,参数date表示的是从1970年1月1日以来的毫秒数(时间戳)

5.2 Calendar类

它是一个抽象类,不能实例化,通过其静态方法getInstance()来得到Calendar对象。

  1. 常用方法:
    (1)int get(int field):返回指定日历字段的值
    (2)void add(int field,int amount):为指定日历字段增加或减去时间量
    (3)void set(int field,int value):为指定字段设定值
    (4)void set(int year,int month,int date):设置年月日
    (5)void set(int year,int month,int date,int hourOfDay,int minute,int second):设置年月日,时分秒。
    (6)getTime():获得一个Date对象
    (7)setTime():设置一个返回类型为Calendar对象类型的,参数要为Date类型
    其中:field字段是用Calendar里面的YEAR、MONTH、DATE、HOUR、MINUTE、SECOND常量表示。month是从0到11这点要注意。
    Date对象和Calendar对象通过上面的getTime()和setTime()方法可以进行相互之间的转换。

  2. 容错模式(lenient)和非容错模式(non-lenient)
    当处于容错模式时,数值可以超出允许范围的值,当我们使用get()方法去获取某个值的时候,Calendar会自动的重新去计算所有字段的值,将字段的值去标准化,默认的是容错模式,如果设置为非容错模式了,当我们的数值超过允许的范围之后会抛异常。我们通过Calendar里面的setLenient(false)来设置为非容错模式。

  3. JDK 8 的日期与时间类
    为了满足更多的需求,JDK 8增加了一个java.time包,在这个包里有了更多的操作日期和时间的类。
    这些类的使用方法如下:

public class JDK8Calendar {
    public static void main(String[] args) {
        //1.使用Clock获取指定时区的当前时间
        Clock clock=Clock.systemUTC();
        System.out.println("获取UTC时区转换的当前时间:"+clock.instant());
        System.out.println("获取UTC时区转换的毫秒数:"+clock.millis());
        //2.使用Duration,主要用里面的ofXxx()方法获取指定的时间的小时、分钟、秒数等
        Duration duration=Duration.ofDays(1);
        System.out.println("一天等于:"+duration.toHours()+"小时");
        System.out.println("一天等于:"+duration.toMinutes()+"分钟");
        System.out.println("一天等于:"+duration.toMillis()+"秒");
        //3.使用Instant,通过静态方法now()获取当前时间,通过plusXxx()方法来增加,minusXxx()方法来减少
        Instant instant=Instant.now();
        System.out.println("获取UTC时区的当前时间为:"+instant);
        System.out.println("当前时间一小时后的时间为:"+instant.plusSeconds(3600));
        System.out.println("当前时间一个小时前的时间:"+instant.minusSeconds(3600));
        //4.使用LocalDate,通过静态方法now()获取不带时间的日期,通过plusXxx()和minusXxx()方法加减
        LocalDate localDate=LocalDate.now();
        System.out.println("现在日期是:"+localDate);
        //5.使用LocalTime,通过静态方法now()获取不带日期的时间
        LocalTime localTime=LocalTime.now();
        System.out.println(localTime);
        //6.使用LocalDateTime,通过静态方法now()获取日期时间,通过plusXxx()和minusXxx()方法来加减
        LocalDateTime localDateTime=LocalDateTime.now();
        System.out.println(localDateTime);
        LocalDateTime times=localDateTime.plusDays(1).plusHours(3).plusMinutes(30);
        System.out.println(times);
        //7.使用Year、YearMonth、MonthDay
        Year year=Year.now();
        System.out.println("当前年份"+year);
        YearMonth yearMonth=YearMonth.now();
        System.out.println("当前年月"+yearMonth);
        MonthDay monthDay=MonthDay.now();
        System.out.println("当前的月日"+monthDay);
        //8.使用ZoneId,表示一个时区
        ZoneId zoneId=ZoneId.systemDefault();
        System.out.println("当前系统的默认时区为:"+zoneId);
    }
}

注意:如果我们这里通过clock.instant()来获取时间会和通过Instant.now()来获取的时间相差8个小时,因为Instant默认使用的UTC(世界标准时间),而通过clock.instant()来获取的时间是CST(中国标准时间)。
其中还有DayOfWeek类用来定义星期一到星期日,是个枚举类,Month也是枚举类用来定义一月到12月。

5.3 格式化类

目的:获得我们想要的格式输出的时间和日期。

5.3.1 DateFormat类

它是一个抽象类,不能被实例化,但是它提供了一系列的方法来获取实例对象。它用来格式化日期。

常用方法:

方法声明功能描述
static DateFormat getDateInstance()创建默认语言风格的日期格式器
static DateFormat getDateInstance(int style)创建指定风格的日期格式器
static DateFormat getDateTimeInstance创建默认风格的日期/时间格式器
static DateFormat getDateTimeInstance(int dateStyle,int timeStyle)用于创建指定风格的日期/时间
String format(Date date)将一个Date格式化为日期/时间字符串
Date parse(String source)将给定字符串解析成一个日期

注意:前四个方法用来获取实例化对象,其中DateFormat里面有四个常量值用于作为参数传递给方法。FULL、LONG、MEDIUM、SHORT,FULL表示完整格式,LONG表示长格式、MEDIUM表示普通格式,SHORT表示短格式。
我们可以利用parse()方法将字符串格式化成我们想要格式的Date对象。

5.3.2 SimpleDateFormat类

解决了DateFormat对象的parse()方法将字符串解析为日期的时候,需要输入固定格式的字符串不够灵活,他是DateFormat的子类,可以用new去创建,创建实例化对象时,构造方法接受一个表示日期格式模板的字符参数。
使用如下:

public class SimpleDateFormatDemo {
    public static void main(String[] args) {
        SimpleDateFormat sdf=new SimpleDateFormat("Gyyyy年MM月dd日:今天是yyyy年的第D天,E");
        System.out.println(sdf.format(new Date()));
        //其中的G表示公元,y表示年,d表示日,M表示月,D表示天,E表示星期。
    }
}

解析比DateFormat灵活体现在下面:

        SimpleDateFormat sdf2=new SimpleDateFormat("yy/MM/dd");
        Date date=sdf2.parse("21/03/02");
        System.out.println(date);

5.3.3 DateTimeFormatter类

用来将日期、时间对象格式化成字符串和将特定格式的字符串解析成日期、时间对象。相当于DateFormat和SimpleDateFormat合体。

获得DateTimeFormatter对象的三种方式:
(1)使用静态常量创建:在DateTimeFormatter类中包含大量的静态常量,如ASIC_ISO_DATE、ISO_LOCAL_DATE、ISO_LOCAL_TIME等
(2)使用不同风格的枚举值来创建:在FormatStyle类中定义了FULL、LONG、MEDIUM和SHORT四个枚举值。
(3)根据模式字符串创建
使用如下:

public class DateTimeFormatterDemo {
    public static void main(String[] args) {
        LocalDateTime date=LocalDateTime.now();
        //1.使用常量创建
        DateTimeFormatter dtf=DateTimeFormatter.ISO_DATE_TIME;
        System.out.println(dtf.format(date));
        //2.使用不同风格的枚举值来创建
        DateTimeFormatter dtf2=DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM);
        System.out.println(dtf2.format(date));
        //3.使用模式字符串来创建
        DateTimeFormatter dtf3=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        System.out.println(date.format(dtf3));
    }
}

格式化字符串可以通过以下两种方式:
(1)调用DateTimeFormatter的format(TemporalAccessor temporal),参数是TemporalAccessor类型的接口,主要实现类有LocalDate、LocalDateTime。
(2)调用LocalDate、LocalDateTime等日期对象的format(DateTimeFormatter formatter)方法。

使用DateTimeFormatter将指定格式的字符串解析成日期、时间对象,可以通过日期、时间对象所提供的parse(CharSequence text,DateTimeFormatter formatter)方法来实现。

使用方式如下:

public class DateTimeFormatterParseDemo {
    public static void main(String[] args) {
        //定义两种日期格式的字符串
        String str1="2020-01-12 14:23:33";
        String str2="2020年01月12日 14时23分33秒";
        //定义解析所用容器
        DateTimeFormatter formatter1=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        DateTimeFormatter formatter2=DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH时mm分ss秒");
        //使用LocalDateTime的parse()方法执行解析
        LocalDateTime ldt1=LocalDateTime.parse(str1,formatter1);
        LocalDateTime ldt2=LocalDateTime.parse(str2,formatter2);
        //输出结果
        System.out.println(ldt1);
        System.out.println(ldt2);
    }
}
Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第二节Table API 与 DataStream API集成(一)) 第一、二节讲述了Table API & SQL 的用法以及如何与DataStream API进行集成,该部分对于编程来说非常重要,也是使用Flink的基础。 阅读详情

相关推荐

Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第四节SQL入门与查询(二))

第四节则介绍了SQL的入门及示例,按照DataStream的格式介绍源、实时查询和下沉相关的内容,以及一个SQL是如何工作的。

alanchanchn的专栏 9285

Java语言高级-常用API-第四节 ArrayList集合

对象数组

qq_37975179的博客 187

Flink原理与实战(java版)#第7章 Flink的 Table API & SQL(第二节Table API 与 DataStream API集成(二))

第一、二节讲述了Table API & SQL 的用法以及如何与DataStream API进行集成,该部分对于编程来说非常重要,也是使用Flink的基础。

alanchanchn的专栏 9591

JAVA电商秒杀实战第四节——API设计

JAVA电商秒杀实战第四节——API设计

weixin_43966561的博客 441

L3 级自动驾驶 2025:法规突破与车企技术路线竞争

2025年L3级自动驾驶迎来规模化商业落地关键期。全球主要经济体在法规、技术、市场三方面取得突破:中国通过《北京市自动驾驶汽车条例》明确责任划分,欧盟设立严格技术认证标准。技术路线呈现"多传感器融合为主流,纯视觉为补充"格局,华为、特斯拉等企业展开硬件军备竞赛与算法架构革新。中国车企在技术验证和规模化应用方面领先,而欧美车企侧重生态整合。尽管面临成本控制、责任认定和用户信任等挑战,随着技术进步和车路协同发展,L3自动驾驶正从高端选配向大众化普及迈进,为L4级奠定基础。

2301_77933942的博客 3098

射频工程师笔记---射频通信基础

回顾一下移动通信技术的发展,其实是互联网和通信技术的融合过程。在这个过程中,很多应用都在不断加入其中。比如计算机跟通信的融合产生了互联网、互联网跟手机的融合带来了移动互联网。手机可以看杂志、看视频、听音乐,于是又出现了内容服务产业;再后来,电视音箱等设备也能联网,于是网络跟家电又产生了融合。所以应用的出现总是在融合其他产业。在1995年,比尔·盖茨在《未来之路》一书中首次提出:在未来...

多年硬件从业经历,热爱学习,记录生活! 2万+

第八章 Java常用类 第四节 时间相关类

时间类(1): --java.util.Date(基本废弃,Deprecated) getTime(),返回自从1970.1.1以来的毫秒数 --java.sql.Date(和数据库对应的时间类) --Calendar是目前程序中最常用的,但是是抽象类 Calendar gc = Calendar.getInstance(); Calendar gc = new GregorianCalendar(); 简单工厂模式 时间类(2): Calendar类的相关函数 --...

one_2_one的博客 218

华为2288H-V5服务器做raid的详细步骤

华为2288H-V5服务器做RAID

qq_50263172的博客 6万+

黑马程序员JAVA学习第四节

黑马程序员JAVA学习第四节 (视频链接黑马程序员全套Java教程_Java基础入门教程,零基础小白自学Java必备教程_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili) 本节主要内容是 ,对应视频187- 形参和返回值: 1.普通类名做形参和返回值与int string 基本上差不多。 2.抽象类名做形参和返回值; 1)方法的形参是抽象类名,其实需要的是该抽象类的子类对象 2)方法的返回值是抽象类名,其实返回的是该抽象类的子类对象 abstractclassAnim...

weixin_51181574的博客 383

vtk相机_分别用 VTK 体绘制和面绘制来实现医学图像三维重建;

序言,VTK介绍:VTK 全称为 The Visualization Toolkit (可视化工具),是一个开源、跨平台、自由获取、支持并行计算的图形应用函数;拥有3D 渲染的最新工具、提供3D交互模式以及2D绘图等。VTK 包含一个C++类库,目前提供了众多语言接口,例如 Java、Python、TCL;在三维函数库OpenGL 的基础上采用面向对象设计方法发展起来图形学基本概念和数据...

weixin_39665302的博客 689

时序数据库避坑指南:TDengine与IoTDB在车联网场景的7个关键对比

本文对比了时序数据库TDengine与IoTDB在车联网场景下的7个关键差异,包括数据模型设计、边缘-云端协同能力、车规级函数库、存储压缩算法等。通过真实案例和性能测试,帮助企业在新能源汽车大数据处理中选择合适的时序数据库,优化存储成本和实时告警性能。

rust6ferris的博客 453

java study(常用的API第一部分)

java study 常用的API第一部分

qq_40376800的博客 603

微生物测序分析LEfSe

LEfse分析定义 LEfse分析即LDA Effect Size分析,可以实现多个分组之间的比较,还进行分组比较的内部进行亚组比较分析,从而找到组间在丰度上有显著差异的物种(即biomaker);

宁生信 5万+

Java语言学习笔记-常用的API

常用的API 第一节:API概述 1.1 概述 **API:**应用程序编程接口。Java API是一本程序员的字典,是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。所以我们可以通过查阅API的方式,来学习Java提供的类,并得知如何使用它们 1.2 API使用步骤 1、打开帮助文档 2、点击显示,找到索引,看到输入框 3、你要找谁,就在输入框里输入,然后回车 4、看包,java.lang下的类不需要导包,其他需要 5

qq_19627109的博客 282

python基础:工作会用到的95%的基础python代码都在这了(万字详解!)

本文是一份Python编程语言的快速参考备忘单,涵盖了Python基础语法和常用数据类型。主要内容包括:Python入门指南(打印、变量声明)、内置数据类型(字符串、数值、列表、元组、集合、字典等)、控制结构(判断、循环)、函数定义、文件处理操作以及字符串操作方法(切片、循环遍历等)。这个备忘单特别适合初学者快速查阅Python基础语法,同时也提供了数据类型转换、f-string格式化字符串等实用技巧。通过简洁的代码示例展示了Python的基本语法规则和典型用法。

数据知道的博客 8164

AFL源码分析之afl-as.c详细注释

前言 afl-as注释好了,明白了是如何进行插桩的,以及插在哪里 本文主要参考Sakura大佬文章:https://eternalsakura13.com/2020/08/23/afl/ 编写不易,如果能够帮助到你,希望能够点赞收藏加关注哦Thanks♪(・ω・)ノ /* Copyright 2013 Google LLC All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); y

hollk’s blog 2173

Java基础 第四节 第一课

线程多线程原理自定义线程类测试类流程图原理Thread 类构造方法常用方法Runnable 实现线程Thread 和 Runnable 的区别匿名内部类方式实现线程的创建 多线程原理 在第三节中我们已经写过一个多线程的代码, 大家可能多原理并不是很清楚. 那么现在我们来具体画个多线程执行时序图来体验一下多线程程序的执行流程. 代码如下: 自定义线程类 public class MyThread extends Thread { /** * 利用继承中的特点将线程名称传递, 进行设置

我是小白呀的博客 1642

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

JUC并发编程第四节:线程常用方法

java线程常用方法

weixin_45622992的博客 1158

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Java后端爱上SpringCloud 第四节:路由网关Zuul和Gateway

Java后端爱上SpringCloud 第四节:路由网关Zuul和Spring-Cloud-Gateway一些链接Zuul和Spring-Cloud-Gateway区别Zuul应用Spring-Cloud-Gateway应用 一些链接 Spring Cloud Gateway替代zuul作为API网关 spring cloud-构建微服务架构的网关(API GateWay) Zuul和Sprin...

baidu_37307156的博客 1957

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Java基础 第四节 第三课

线程状态概述Tiemed Waiting (计时等待)案例Timed Waiting 线程状态图Blocked (锁阻塞)Blocked 线程状态图Waiting (无限等待)Waiting 线程状态图补充知识点 概述 当线程被创建并启动以后, 它既不是一启动就进入执行状态, 也不是一直处于执行状态. 在线程的生命周期中, 有几种状态呢? 在 API 中java.lang.Thread.State这个枚举中给出了六种线程状态: 线程状态 导致状态发生条件 NEW (新建) 线程刚被创建, 但

我是小白呀的博客 1643

API章节--第四节包装类总结

四:包装类 ①:包装类的定义 在Java中,很多类的方法都需要接收引用类型的对象,此时就无法将一个基本数据类型的值传入。为了解决这样的问题,JDK中提供了一系列的包装类,通过这些包装类可以将基本数据类型的值包装为引用数据类型的对象。包装类都在java.lang包中。 ②:包装类的继承关系 ③:装箱和拆箱(基本数据类型和引用数据类型的相互转换) 装箱:基本数据类型=>引用数据类型 拆箱:...

孤夜的博客 486

java核心api_JAVA核心API(下)

第八章 JAVA集合第一节:Java集合的引入数组的长度是固定,不能根据我们的需求自动变长或者变短。所以就引入了可变化长度的集合。第二节:List集合List集合里的元素是可以重复的。List接口的主要实现类有ArrayList,和LinkedList。在数据量不大的情况下,这两个类性能差别不大,一般情况下,集合里的元素很少变化的,一般用ArrayList,1. 数据量较大时在随机查询方面,Arr...

weixin_30220993的博客 200

集合第四节

Map:存放的数据是成对出现。    *    Map集合中的一条数据包括两部分:    *    1.Key:键,不能重复。    *    2.value:值,可以重复    *       *  Map集合的实现类:    *  HashMap:非线程安全的,效率高于HashTable,key和value可以是null.    *  TreeMap:键的集合是由一个TreeS

bani_zou的博客 183

Java基础 第四节 第十六课

缓冲流概述字节缓冲流构造方法效率测试基本流缓冲流优化字符缓冲流构造方法特有方法readLinenewLine练习: 文本排序分析代码展示 概述 我们已经学习了基本的一些流, 作为 IO 流的入门, 今天我们要见识一些更强大的流. 比如能够高效读写的缓冲流, 能够转换编码的转换流, 能够持久化存储对象的序列化流等等. 这些功能强大的流, 都是在基本的流对象基础之上创建而来的, 就像穿上铠甲的武士一样, 相当于是对基本流对象的一种增强. 缓冲流, 也叫高效流. 是 4 个基本的 FileXxx 流的增强, 所以

我是小白呀的博客 1811

Java API文档工具:小白如何游刃有余编写Java中的API使用手册?

掌握好的API文档的编写技巧,不仅使你的代码更加规范和易读,同时提高开发效率,为你的职业发展打下坚实的基础。然而,Java API文档是Java开发者们的必备工具,它是官方提供的Java库的参考手册。虽然对于初学者来说,编写Java API使用手册可能是一个挑战,但只要善用Java API文档工具,结合一些实践经验,小白们也能成为优秀的API文档编写者。Javadoc:Javadoc是Java官方提供的文档生成工具,通过特殊的注释标记,我们可以轻松地将代码中的注释生成为漂亮的API文档。

weixin_19970108018的博客 622

第四节 zookeeper集群与分布式锁

传统单体应用单机部署的情况下,可以使用并发处理相关的功能进行互斥控制,但是原单体单机部署的系统被演化成分布式集群系统后,由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效。提出分布式锁的概念,是为了解决跨机器的互斥机制来控制共享资源的访问。

CUITAO2305532402的博客 1890
上一篇: 第三节 Java 面向对象
下一篇: 第一节 Android开发环境的配置
_乐颜
博客等级 码龄7年 15粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值