1.字符串的长度

String str = new String(" abcd");int length = str.length();

2.数组的长度、排序

2.1对于 a[][]

a.length代表a的行数      a[i].length代表a的列数

2.2对于a[]

a.length代表a的长度

2.3数组排序

Arrays.sort(a)

Arrays.sort(a,Collections.reverseOrder()) //倒序

3.数组的拷贝

int [] a = {1,2,3,4};int [] b = Arrays.copyOf(a,a.length);

在java中,定义数组时int [] a = new int[10];默认的初始化为全零

java中 Arrays.fill(b,10);    //将数组b[]全部设置为10;

4.字符串与字符数组的转化

String str = new String("abcd");char [] a = str.toCharArray();

5.字符串数字与数字的转化

4.1 String—>int

String str = "1234";int i = Integer.parseInt(str); //可能会抛出异常 ,(如果报错)在 main(String[] args)后面加上throws Exception

4.2 int —>String

int i=235;

String s= String.valueOf(i); //Of大写

6.从.in文件导入数据

import java.IO.*;public static void main(String [] args) throws IOException{ //会抛出异常

FileReader a= new FileReader("D-small-attempt1.in");//文件与源码在同一目录下

BufferedReader read = newBufferedReader(a);

String textLine="";

String str="";while(( textLine=read.readLine())!=null){

str+=textLine+" ";

}

String[] numbersArray=str.split(" "); //将str按空格分开,保存成字符数组

}

7.导处数据到.txt文件

import java.IO.*;

FileWriter fw= new FileWriter("output.txt");

BufferedWriter bufw= newBufferedWriter(fw);

String line= null;for(int i=1;i

bufw.write("Case #"+i+": "+result[i]);

bufw.newLine();//下一行

bufw.flush(); //更新

}

bufw.close();

8.保留有限位小数

import java.text.*DecimalFormat sim= new DecimalFormat("0.000000");//保留多少位小数点后面就有几位

double six = sim.format(source); //将source保留六位小数

比较简单的方法(对于输出结果保留有限位小数)

System.out.printf("%.3f",a);

9.常用数学公式(在java.lang.Math包中)

java中pi的使用 Math.PI

对数运算   double x =Math.log(double y);   log(y)即 ln(y);

幂运算   double d=Math.pow(double m,double n);  m^n

10.java位逻辑运算符

包括:

& 与;

| 或;

~ 非(也叫做求反);

^ 异或

java 中!a取非仅适用于Boolean型变量

java中 ~a 取反操作,

在Java中负数是用整数的补码表示的

补码就是取反+1 比如数A 那么-A就是 ~A+1  所以~A=-A-1;

所以 ~i=-5-1=-6    即~5=-6

11.java移位运算符

包括:

“>> 右移,高位补符号位”;

“>>> 无符号右移,高位补0”;

“<< 左移”;

12.java取整

向上取整:(int)Math.ceil() //只要有小数都+1

向下取整:(int)Math.floor() //不取小数

四舍五入:(int)Math.round() //四舍五入

13.字符串复制、比较、连接、分割

java

str.length()//返回字符串长度

str1.equals(str2)//java字符串比较,相等返回true

str.substring(int beginIndex, int endIndex) //java字符串分割 从beginIndex开始,不包括endIndex

java判断字符串中是否包含某个字符或者字符串

String s1="abcdef";

String s2="abc";int x =s1.indexOf(s2);//s2在s1中首次出现的索引,没有返回-1,s2也可以是字符

java字符串拼接 用+;

例如 String s1="abc";String s2="nba";String s3=s1+s2;则s3="abcnba";

java字符串大小写互换

str.toLowerCase();//转成小写

str.toUpperCase();//转成大写

java字符串分割

String str = "ab cd de";

String [] str_array= str.split(" ");//将字符串按空格分开存到字符串数组

String str2= "192.168.199.1";

String [] str_array2= str2.split("\\.");//将字符串按'.'分开存到字符串数组

java字符串反转

String s = ".........";

s= (new StringBuffer(s)).reverse().toString();

经验分享:

1、分隔符为“.”(无输出),“|”(不能得到正确结果)转义字符时,“*”,“+”时出错抛出异常,都必须在前面加必须得加"\\",如split(\\|);

2、如果用"\"作为分隔,就得写成这样:String.split("\\\\"),因为在Java中是用"\\"来表示"\"的,字符串得写成这样:String Str="a\\b\\c";

转义字符,必须得加"\\";

3、如果在一个字符串中有多个分隔符,可以用"|"作为连字符,比如:String str="Java string-split#test",可以用Str.split(" |-|#")把每个字符串分开;

14.float和double的取值范围

1.范围

float和double的范围是由指数的位数来决定的。

float的指数位有8位,而double的指数位有11位,分布如下:

float:

1bit(符号位) 8bits(指数位) 23bits(尾数位)

double:

1bit(符号位) 11bits(指数位) 52bits(尾数位)

于是,float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的。

其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。

float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308。

2.精度

float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,由于它是不变的,故不能对精度造成影响。

float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;

double:2^52 = 4503599627370496,一共16位,同理,double的精度为15~16位。

但是double只能精确前16位,因此必须慎用!

for (double x1 = 0.0; x1 <= 10.0; x1 += 0.1) {

System.out.println(x1); 循环输出结果是9.99999999999998而不是10.0

14、java数据类型的最大值和最小值

相应的整数

System.out.println(Integer.MAX_VALUE);//打印最大整数:2147483647

System.out.println(Integer.MIN_VALUE);//打印最小整数:-2147483648

相应的浮点数:

System.out.println(Float.MAX_VALUE)

System.out.println(Float.MIN_VALUE)

双精度:

System.out.println(Double.MAX_VALUE)

System.out.println(Double.MIN_VALUE)

15.java释放内存

System.gc(); //java释放内存

Java竞赛目的_ACM竞赛 Java编程小结相关推荐

  1. Acm+java各种数据结构_Acm竞赛算法——数据结构算法分类

    ACM竞赛的算法,分为了数学.数据结构和算法三大块. 一 数学(Mathematics) 1 离散数学(Discrete Mathematics) 1.1 图论(Graph Theory) 图的遍历( ...

  2. springboot毕设项目荆楚理工学院竞赛管理系统tdt21(java+VUE+Mybatis+Maven+Mysql)

    springboot毕设项目荆楚理工学院竞赛管理系统tdt21(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql ...

  3. acm竞赛java很少,Java多线程在ACM竞赛中的应用

    欢迎转载,转载请注明出处. 转发注记:网上看到有少数人讨论过在ACM竞赛中使用多线程,但是在Online Judge上一般是不支持的.因为Online Judge都会限制CPU的使用权限,所以即使可以 ...

  4. 计算机毕业设计Java传统文化知识竞赛系统(源码+系统+mysql数据库+lw文档

    计算机毕业设计Java传统文化知识竞赛系统(源码+系统+mysql数据库+lw文档 计算机毕业设计Java传统文化知识竞赛系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/ ...

  5. 基于JAVA传统文化知识竞赛系统计算机毕业设计源码+系统+数据库+lw文档+部署

    基于JAVA传统文化知识竞赛系统计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA传统文化知识竞赛系统计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 ...

  6. 基于java(springboot)篮球竞赛预约管理系统(java毕业设计)

    基于java(springboot)篮球竞赛预约管理系统 篮球竞赛管理系统是基于java编程语言,mysql数据库,springboot框架和idea工具开发,本系统分为用户和管理员两个角色,其中用户 ...

  7. JAVA两年5009_【JAVA】PAT 乙级 1059 C语言竞赛(测试点1、2超时) 内含1-10000的素数表和0-10000是否素数的boolean值...

    [JAVA]PAT 乙级 1059 C语言竞赛(测试点1.2超时)题目链接 C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛.既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽: 0.冠军将赢得一份 ...

  8. java毕业设计创新创业竞赛管理系统2021Mybatis+系统+数据库+调试部署

    java毕业设计创新创业竞赛管理系统2021Mybatis+系统+数据库+调试部署 java毕业设计创新创业竞赛管理系统2021Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S ...

  9. java计算机毕业设计体育竞赛成绩管理系统源码+数据库+系统+lw文档+mybatis+运行部署

    java计算机毕业设计体育竞赛成绩管理系统源码+数据库+系统+lw文档+mybatis+运行部署 java计算机毕业设计体育竞赛成绩管理系统源码+数据库+系统+lw文档+mybatis+运行部署 本源 ...

最新文章

  1. 病毒组研究的挑战-相关的新兴技术
  2. Elasticsearch对外提供分词服务实践
  3. Rabbits —— HDU-6227
  4. C#的未来:扩展属性及更多
  5. 第一章踏上python之旅_仙侠旅人传
  6. pivot unpivot_静态和动态SQL Pivot和Unpivot关系运算符概述
  7. wex5中集成的mysql数据库 打开时一闪而过 报错
  8. 水利水电专业英语(2.5k行超全)
  9. 微信小程序获取unionid
  10. 一、Spring Boot整合redies
  11. google测试框架
  12. 远程打印服务器配置,打印服务器的配置与管理(1) 网络打印机的安装与部署...
  13. 使用 validation 验证参数
  14. Rockchip RK3588 kernel dts解析之音频模块
  15. autojs ui界面模板3
  16. python可视化图表分析---pyecharts库的使用
  17. 如何批量将 Word 文档转为 ePub 格式
  18. 接口可以继承接口吗?
  19. 翻转棋 dfs+模拟
  20. 三通道图像转化为三通道,并将多通道图像混合

热门文章

  1. android京东加入购物车效果,京东360buy 手机项目的“加入购物车”动画效果研究...
  2. mysql链表_MySql链表语句--博客园老牛大讲堂
  3. mongodb3.2 java,MongoDB学习笔记:(3)、mongodb 3.2在java环境中的简单CRUD
  4. 什么是posix?(Portable Operating System Interface 便携式操作系统接口)
  5. wireshark 如何修改抓包时间日期显示格式?
  6. 目标、物体识别(检测)object detection 中的 bounding boxes 是什么? 边界区域、边界框、边界盒
  7. pygame学习和python巩固——字体显示
  8. Let‘s Play Curling 二分,lower_bound(2020.12.南京)
  9. Automatic Judge 模拟
  10. CF #737(div2)B. Moamen and k-subarrays 贪心