这不是java代码,是javascript代码
成都创新互联是一家专注于网站制作、网站建设与策划设计,公安网站建设哪家好?成都创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:公安等地区。公安做网站价格咨询:13518219792
script type="text/javascript" src="js/jquery-1.8.2.min.js"/script
script type="text/javascript" src="js/jquery-ui.min.js"/script
script type="text/javascript" src="js/jquery.idealforms.js"/script
以上是导入JS库的代码,导入以后就可以使用一些库里的代码,这里导入的jquery和jquery的一些插件,其中有ui和表单插件。
script type="text/javascript"
这里中间的代码是JS的代码,我下面解释。
/script
Javascript语言里定义变量可以这样定义,举例:var a = {key:value,fn:function(){alert(1)}};
这里的a是一个变量,也可以理解为一个对象,对象里拥有属性和方法,key就是属性,对应的属性值是value,fn是函数,对应的函数体是后面的function(){alert(1)},看你的代码:
var options = {
onFail: function(){
alert( $myform.getInvalid().length +'invalid fields.' )
},
inputs: {
'password': {
filters: 'required pass'
},
'username': {
filters: 'required username',
data: {
//ajax: { url:'validate.php' }
}
}
},
'file': {
filters: 'extension',
data: { extension: ['jpg'] }
},
'comments': {
filters: 'min max',
data: { min: 50, max: 200 }
}
};
上面定义了一个options的变量,她拥有一些属性与方法
var $myform = $('#my-form').idealforms(options).data('idealforms');
上面代码$('#my-form')是通过jquery库获取一个元素ID为my-form的元素,它有idealforms方法,传递参数options后,返回一个对象在调用data方法,传递字符串参数idealforms。
$('#reset').click(function(){
$myform.reset().fresh().focusFirst()
});
上面代码$('#reset')同样获取元素,后面.click是说点击这个元素要触发的事件函数,其中这个$myform.reset().fresh().focusFirst()
$myform.focusFirst();
意为该表单重置刷新并且自动成为当前页面焦点。
div style="text-align:center;"/div
上面这段是一个div元素,没什么说的,一个加入了一个样式,意思是说在这个div中的文本居中显示。
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; //引用java。awt包
import javax.swing.JButton;
import javax.swing.JFrame; //引用swing包
public class Btn extends JFrame{ //生成一个Btn类继承Jframe
private static final long serialVersionUID = 1L; //Jframe类的默认属性
private JButton btn; //声明一个Jbutton变量
int i = 0;
public Btn(){ //Btn类的构造方法,相当于Jframe
this.setTitle("Button"); //添加窗体标题名字,添加Jbutton组件,
btn = new JButton(); //设置Jbutton的文本,和一个事件
this.add(btn);
btn.setText("BITC");
this.btn.addActionListener(new ActionListener(){ //时间发生时在btn中
public void actionPerformed(ActionEvent e) { //显示一行字符
btn.setText("BITC_"+String.valueOf(i+1)); //并显示计为点击次数
i++;
}
});
this.pack(); //调整大小将窗体设为可见
this.setVisible(true);
}
public static void main(String[] args) {
new Btn();
}
}
一楼的说的够全面了,不过稍有误解.
再来表示抱歉,我对编程语言中的中文名词非常不了解,所以如果以下的回复对你的阅读或者理解造成困难,请见谅.
1.首先,要明白这个问题的答案,需要了解call (pass) by value 和 call (pass) by reference 的区别.简单来说:
call by value通常是复制这个parameter的值去另外一块内存里,然后传给function, 所以在method/function里边对这个变量的所有变更,实际上都是对复制过来的镜像进行操作,不会对原本的variable有任何影响.
call by reference是将parameter的reference传给function,简单点理解就是直接把variable传给function.所以说这个variable的值是可以被function改变的.这个用法在c/c++中非常常见,用法是variable_name.
2.再来,在Java里边,你可以很简单的理解为: Java中只有call by value, 也就是说,所以所有传给function的parameter本身都不会被改变. (这是最简单直白的理解,当然也有另一种常从sun的人那边听到的说法:Java是call by value + call by reference by value)
3.那么现在的问题就是为什么第二个结果是2了. 首先说一下sun官方的解释: 对于reference type在作为parameter/argument的时候,也是call by value, 但是在你拥有足够权限时(比方说那个变量是public的, 不是final的等等各种符合的情况),可以修改这个object中fields的值(也就是属于这个object(严谨点讲是an instance of the object) 内部的变量, 在你的例子中, ko 里边的 a 就是一个field, 所以update(ko)会使ko.a变成2).
4.如果你是一个有过c/c++学习经验的人或者你以上的解释很难理解,以下这种说法或许更适合你 (当然了,这只是大多包括我在内有c经验的人的一种理解方式)
这里可以引入一个新的概念,pointer. 这是一种比较特殊的变量,它内部所储存的东西,其实只是另外一个变量的内存地址. 如果对内存没有概念,你可以把它简单理解为是风筝的线轴,虽然看它本身看不出什么端倪,但是顺着摸过去总会找到风筝,看到它是什么样子. 以pointer方式理解Java的人,通常会说: Type variable = new Type(); 这个过程中,最后生成的这个variable其实就是一个pointer,而不是instance本身.
在Java中, 有c/c++经验的人通常认为Java是call by value.同时,当一个变量用在储存reference type的时候,实际上储存的是它的pointer,这也一样可以解释为什么ko.a会有2这个结果,因为虽然pointer被传到function里边时,本身是call by value,无法被改变.但这并不影响function本身对这个pointer指向的object的内容做任何改变. 当然,再次声明,这只是一种帮助有c/c++经验的人理解的方法. Sun本身严正声明Java里边没有pointer这个东西的存在.
5. 再来解释一下为什么说楼上所说的(或者说楼上引用的)理解略有偏差.
引用"我们上面刚学习了JAVA的数据类型,则有:值类型就是按值传递的,而引用类型是按引用传递的" 这句话很明显的有两点错误. 第一点,如果我上面所说的,Java是没有call by reference的.
第二点,暂且假设Java里边是有call by reference的, 这句话依然不成立.
Java中的变量有两种类型: primitive types 和 reference type.
primitive type包括byte, short, int, long, char, boolean, float和double.
而这8种之外的所有的,都是reference type.
下面是一段对你的贴上来的code的一点延伸,希望可以帮助你更好的理解Java中的argument / parameter到底是如何运作的.
public class Test {
public static void main(String[] args) {
int a = 1;
Koo koo = new Koo();
Object o = new Integer(1);
Koo newKoo = new Koo();
update(a);
update(koo);
update(o);
update(newKoo);
newUpdate(newKoo);
System.out.println(a);
System.out.println(koo.a);
System.out.println(o);
System.out.println(newKoo.a);
}
static void update(int a) {
a++;
}
static void update(Koo koo) {
koo.a++;
}
static void update(Object o) {
o = (int) (Integer.parseInt(o.toString()) + 1);
}
static void newUpdate(Koo koo) {
koo = new Koo();
}
}
class Koo {
int a = 1;
}
/*
o = (int) (Integer.parseInt(o.toString()) + 1); 这一行中的(int)纯粹是多余的,是否有这个casting对code本身没有任何影响. 如果你高兴也可以用
o = new Integer(Integer.parseInt(o.toString()) + 1);
或者干脆
o = Integer.parseInt(o.toString()) + 1;
*/
以上这些code运行之后会得到1 2 1 2的结果. 后面两个结果可以很好的说明, 即使对objects (reference type variables) 来看, Java所应用的也并不是call by reference. 否则的话,以上code运行结果应该是1 2 2 1
希望你可以真正理解这个新的例子中,产生1212这个结果的原因,从而对Java中的arguments有一个系统全面的认识.
图片是相关资料的链接,知道里貌似不能加网址
Scanner in = new Scanner(System.in);
定义接受从控制台输入
System.out.println("What is your name");
控制台输出:What is your name
String name = in.nextLine();
开始接收控制台一行语句并赋值给name
System.out.println("How old are you");
控制台输出:How old are you
int age =in.nextLine();
开始接收控制台一行语句并赋值给int(但是这里写错了,应该写成int age =in.nextInt();
nextInt()是接收控制台输入的整数,你的age定义为整数所以用这个,nextLIne接收的是一行语句,可以用String接收)
System.out.println("Hello"+name+",next year.you'll ,you"+(age+1));
输出:hello后面跟你第一次输入的一行语句next year.you'll ,you第二次输入的数字加1
第一个if是判断searchkey是不是空的,如果不是空的,就追加到name字段作为查询条件,like模糊查询
接着第二个if判断如果status的值不为空,就追加到status作为条件
如果status为空,走else分支,从userContext中获取到employee对象,接着判断,如果它的角色不是manager的话
把这个对象的id拿出来,作为seller.Id的条件进行查询
scanner.next()表示你在控制台 接下来输入的内容知道回车结束,
第二行:先来看matches方法
jdk1.6帮助文档-------boolean matches(String regex)告知此字符串是否匹配给定的正则表达式。
返回类型是boolean,你输入的str如果匹配给定的正则表达式(\d+)|(\d*.\d+)|(\d+.\d*)则向控制台输出true,否则输出false
PS:字符串"\\",Java中字符串"\"是转义字符,如果想把"\"作为字符串,则需要用"\\"
正则表达式(\d+)|(\d*.\d+)|(\d+.\d*)你可以百度看是什么含义
希望能帮到您,望采纳
本文名称:java代码基本解释 看懂java代码
分享链接:https://www.cdcxhl.com/article28/docggcp.html
成都网站建设公司_创新互联,为您提供商城网站、App开发、云服务器、营销型网站建设、外贸网站建设、微信公众号
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联