当前位置:首页 > 科技 > 正文

substring java substring截取后三位

substring java substring截取后三位

java截取指定字符串中的某段字符如何实现java中提供了一个函数叫substring(),其中,substring函数有两个参数:1、第一个参数是开始截取的字符位置。...

java截取指定字符串中的某段字符如何实现

java中提供了一个函数叫substring(),其中,substring函数有两个参数:

1、第一个参数是开始截取的字符位置。(从0开始)

2、第二个参数是结束字符的位置+1。(从0开始)

indexof函数的作用是查找该字符串中的某个字的位置,并且返回。

java如何截取一个字符串的后三位

str.substring一个起始位置一个结束位置。

java,请问如何截取一个字符串的后三位

Stringvalue="abcdefg";intlength=value.length();if(length>=3){Stringstr=value.substring(length-3,length);System.out.println(str);}else{System.out.println(value);}

输出结果为:

efg

当然截取前要判断是否为null,不为null才可以截取

怎么样才能学好java编程

不扯那些虚的,要来就来实质性的干货。

明确自己学习的原因

问问自己是抱着什么目的要学习Java,没有目标的学习是效率极低的,并且容易半途而废;

了解Java可以做什么,Java可以从事的岗位以及软件行业的发展情况;

自己是否对Java方向感兴趣;

Java基础

学习准备

推荐看视频入门,可以通过某宝以及某鱼购买相关的视频,别挑三拣四,选中一个视频看完再说,对于初学者,无论选哪一个都是值得你学习的。可以选择传智、黑马、尚学堂等教学视频,买一个系列的即可;

有人说编辑器等IDE环境不适合看视频,浪费时间,但是初学者在学习第一个编程IDE时,推荐看视频或者通过搜索引擎了解工具的使用,看书其实在刚开始可能更浪费时间;

看完基础视频对知识有个大概的了解,这时候看书就不会一头雾水,此时可以通过看书来深入学习,之后的学习可以自己选择看书还是看视频,最好的方法是花时间既看视频也看书;

学着学着忘掉前面的别总想着回头记住,先往后学,有些基础知识暂时用不上,当你学到应用的知识时自然会慢慢理解;

书籍推荐

入门书籍:《HeadFirstJava》、《Java核心技术》

进阶书籍:《Java编程思想》

JavaWeb

学习完Java基础,接着适合学习JavaWeb,这个推荐看视频,学习数据库和JDBC基础知识以及基本的前端知识,然后学习SSM框架,学习路线为:

Mysql->JDBC->HTML、CSS、JavaScript、JSP->Spring->SpringMVC->Mybatis->SSM整合->SSM项目实战

推荐两本书:

《深入分析javaweb技术内幕》

《架构探险-从零开始写javaweb框架》:讲解ioc、aop通俗易懂,实现ioc、aop

实战之后返回深入学习Java相关知识,自顶向下学习,通过大概学习基础,实战之后返回深入学习基础知识,由广至深。

并发编程

推荐书籍:

《Java并发编程的艺术》

设计模式

《HeadFirst设计模式》

JVM

《深入理解Java虚拟机》

要想超越别人,不仅仅要掌握实战技能,更重要的是基础扎实

算法

《算法》第4版

计算机网络

《图解TCP/IP》

《图解HTTP》

操作系统

《操作系统概念》(恐龙书)

这么多已经够你学习了,主要是行动起来,还有更深入的,比如数据库方面以及Java相关的方面,等你学完以上知识相信你自己已经知道需要学习什么了,不要一次被这么多内容吓到,只要静下心来,下一个大神就是你。

附上一张可供参考的详细思维导图

用java写一个16进制转10进制算法的程序

首先16进制里面a代表的是10.b代表11,f代表1516进制就是每16进1然后利用这个原理。得到如下代码。经测试,下边代码两次输出的结果是相同的。publicclasstest1{ publicstaticvoidmain(String[]args){ Stringstr="aabbcc"; StringmyStr[]={"a","b","c","d","e","f"}; intresult=0; intn=1; for(inti=str.length()-1;i>=0;i--){ Stringparam=str.substring(i,i+1); for(intj=0;j

java如何反混淆

一般情况下Java应用的开发者为了保护代码不被别人抄袭,在生成class文件的时候都java文件进行了混淆,这种class文件用反编译工具得到的结果很难看懂,并且不能进行编译。本文从研究的角度,浅析如何读懂这种反编译过来的文件。

例子一:赋值反编译过来的代码如下:

Nodenode;

Nodenode1=_$3.getChildNodes().item(0);

node1;

node1;

JVMINSTRswap;

node;

getChildNodes();

0;

item();

getChildNodes();

0;item();

getNodeValue();

Strings;

s;原始语句:

Nodenode;

Nodenode1=currDocument.getChildNodes().item(0);node=node1;

Strings=node.getChildNodes().item(0).getChildNodes().item(0).getNodeValue();

注解:

JVMINSTRswap;

//赋值语句练习:

Strings1;

Strings8=node.getChildNodes().item(1).getChildNodes().item(0).getNodeValue();

s8;

s8;

JVMINSTRswap;

s1;

10;

Integer.parseInt();

inti;

i;

例子二:不带参数创建对象反编译过来的代码如下:

JVMINSTRnew#244<ClassCrossTable>;

JVMINSTRdup;

JVMINSTRswap;

CrossTable();

CrossTablecrosstable;

crosstable;

原始语句:

CrossTablecrosstable=newCrossTable();

注解:

练习:

JVMINSTRnew#246<ClassDatabase>;

JVMINSTRdup;

JVMINSTRswap;

Database();

Objectobj;

obj;

例子三:带参数创建对象反编译过来的代码如下:

JVMINSTRnew#262<ClassStringBuffer>;

JVMINSTRdup;

JVMINSTRswap;

String.valueOf(s2);

StringBuffer();

s.substring(j,i);

append();

s6;

append();

toString();

s2;原始语句:s2=(newStringBuffer(String.valueOf(s2))).append(s.substring(j,i)).append(s6).toString();

注解:

此语句实际上是:s2+=s.substring(j,i)+s6;

练习:

例子四:for循环反编译过来的代码如下:

intk=0;

goto_L4_L8:...k++;_L4:

if(k<as.length)goto_L8;elsegoto_L7

原始语句:for(intk=0;k<as.length;k++){...}

注解:

例子五:while循环反编译过来的代码如下:

Strings1="";

goto_L1_L3:

JVMINSTRnew#262<ClassStringBuffer>;

JVMINSTRdup;

JVMINSTRswap;

String.valueOf(s1);

StringBuffer();

_$2(resultset,s,l);

append();

toString();

s1;_L1:

if(resultset.next())goto_L3;elsegoto_L2

原始语句:Strings1="";

while(resultset.next()){

s1=s1+resultSetToString(resultset,s,l);

}

最新文章