用java语言写了一个求两个数最大公约数的程序:

import java.io.*;
import java.util.*;
import java.math.*; public class Main{
static int a[] = new int[5]; static int gcd(int a, int b){
return b==0?a:gcd(b, a%b);
} public static void main(String []args){
Scanner reader = new Scanner(System.in);
int n, m; while(reader.hasNext())
{
n = reader.nextInt();
m = reader.nextInt();
int dd = gcd(n, m);
System.out.println(dd);
}
}
}

java可以进行数组的引用,比如 //b=a,b数组和a数组是相同的地址。 但如果我们要复制数组呢,我们可以用Arrays类的调用方法。

这个是最实用的使用方式:

import java.util.*;

public class myCode {

	public static void main(String[] args) {
int a[] = {1, 2, 3, 4, 5, 6};
int b[], c[], d[];
b = Arrays.copyOf(a, 10);//复制10个元素过来,不够的默认为0
System.out.println(Arrays.toString(a)); System.out.println(Arrays.toString(b)); c = Arrays.copyOfRange(a, 3, 5);// 复制下标3 至 5-1
System.out.println(Arrays.toString(c)); d = Arrays.copyOfRange(a, 3, 9);//复制3至8,不够的默认为0
System.out.println(Arrays.toString(d)); }
} /*
输出结果:
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6, 0, 0, 0, 0]
[4, 5]
[4, 5, 6, 0, 0, 0]
*/

java中数组的函数排序和函数进行二分查找。

import java.util.*;

public class myCode {

	public static void main(String[] args) {
int a[] = {11, 2, 13, 44, 105, 86, 77, 32};
Arrays.sort(a);//数组函数排序
System.out.println(Arrays.toString(a)); int key=55;//二分查找55是否存在于a数组
int index = Arrays.binarySearch(a, key);
if(index>=0)
System.out.println("关键字存在,位置是"+index);
else
System.out.println("index返回值是负数,表示关键字不存在");
}
}

java switch语句中进行枚举类型值得使用:

import java.util.*;

enum month{
January, February, March, April, May,
June, July, August, September,
October, November, December
} public class myCode { public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
month ans=month.January; switch(ans){
case January: System.out.println("1月"); break;
case February: System.out.println("2月"); break;
case March: System.out.println("3月"); break;
case April: System.out.println("4月"); break;
case May: System.out.println("5月"); break;
case June: System.out.println("6月"); break;
default: System.out.println("系统没有匹配到"); break;
}
}
}

1.类的定义及使用:

样例代码:

class Main{
String name;
int age;
String sex;
String address;
void eat(){
System.out.println("我会吃饭 ");
}
void run(){
System.out.println("我会跑步 ");
}
public static void main(String[] args) {
Main p;
p = new Main();
p.name = "张三";
p.age=18;
p.sex="女";
p.address = "山东淄博";
System.out.println(p.name+"说:");
System.out.println("我叫"+p.name );
System.out.println("性别"+p.sex);
System.out.println("我今年"+p.age+"岁");
System.out.println("我住在"+p.address );
p.eat();
p.run();
}
}

也可以这样写:

package java_1;

class person{
String name;
int age;
String sex;
String address;
void eat(){
System.out.println("我会吃饭 ");
}
void run(){
System.out.println("我会跑步 ");
}
}
public class Main{
public static void main(String[] args) {
person p;
p = new person();
p.name = "张三";
p.age=18;
p.sex="女";
p.address = "山东淄博";
System.out.println(p.name+"说:");
System.out.println("我叫"+p.name );
System.out.println("性别"+p.sex);
System.out.println("我今年"+p.age+"岁");
System.out.println("我住在"+p.address );
p.eat();
p.run();
}
}
//第四章 类与对象
//可变参数:是指在生命方法时,不给出参数列表中从某项直到最后一项的参数的名字和个数
//但这些参数的类型必须相同
public void f(int ... x);
//在这个方法f()的参数列表中,从第一个至最后一个参数都是int类型,
//但连续出现的int类型参数个数不确定,称x是方法f()的参数列表中可变参数的“参数代表”
//也可以这样定义:
public void g(double a, int ... x);
//参数代表可以通过下标运算来代表参数列表中的具体参数,即x[0],x[1],x[2]...x[m]
//分别表示x代表的第1~m个参数(很类似一个不确定长度的数组)
//对于一个参数代表,例如x,x.length等于x所代表的参数的个数

应用:(分到不同的文件中去执行下面的代码)

package java_1;

public class Computer {
public double getResult(double a, int ... x){
double result=0D;
int sum=0;
for(int i=0; i<x.length; i++){
sum=sum+x[i];
}
result = a*sum;
return result;
}
} public class Main{
public static void main(String[] args){
Computer computer=new Computer();
double result = computer.getResult(1.0/3, 10,20,30);
System.out.println("10+20+30的平均数:"+result ); result = computer.getResult(1.0/6, 5,8,9,6,3,66);
System.out.println("这些数的平均数是:"+result );
}
}
//输出结果:
10+20+30的平均数:20.0
这些数的平均数是:16.166666666666664
//第四章
//4.6 stdtic关键词
//类体的定义包括:成员变量的定义和方法的定义,并且成员变量的定义又分为:实例变量
//和类变量。用static声明的变量就是累变量。同样的,方法的定义除了构造方法外,还
//有实例方法和类方法。 /*
1.实例方法可以调用该类中的实例方法或类方法
2.类方法只能调用该类的类方法,不能调用该类的实例方法
*/
//注意:对象共享类变量

下面的代码程序:对static变量的调用 和 static变量的值(分开到不同的文件中!!!)。

package java_1;

public class lader {
double 上底, 高; //实例变量
static double bottom; //类变量 void set上底(double a){
上底 = a;
}
void set下底(double b){
bottom = b;
}
double get上底(){
return 上底;
}
double getBottom(){
return bottom;
}
} public class Main {
public static void main(String[] args) {
lader.bottom = 100;
//lader的字节码被加载到内存,通过类名操作类变量
lader lader1 = new lader();
lader lader2 = new lader();
lader1.set上底(28);
lader2.set上底(66);
System.out.println("lader1的上底和下地:"+lader1.get上底()+" "+lader1.getBottom() );
System.out.println("lader2的上底和下底:"+lader2.get上底()+" "+lader2.getBottom() );
} }
//第四章
//4.8 包
/*
包是java语言有效管理类的一个机制。
不同java源文件中可能出现名字相同的类,想要区分开,就需要使用包名
使用包名的目的是有效的区分开名字相同的类 package为该源文件声明的类指明包名
package abc;
package a.b.c; //都合法 */

第5章 继承与接口

面向对象编程 的特点:类的封装  类的继承  类的多态。

5.1节
 *利用继承可以先编写一个具有共同属性的类,然后根据一般类编写具有特殊属性的类。
 * 新类继承一般类的状态和行为,并根据需要增加新的状态和行为。
 * 由继承得到的类成为 子类,被继承的类称为 父类(超类)
 * 特别注意:java不支持多重继承(只能有一个父类,接口机制会弥补这个缺点)
格式:
class 子类名 extends 父类名{
    ......
}

extends关键字包含在Object的类中,Object是java.lang包中的类。

java入门的语法学习的更多相关文章

  1. Java入门第二季学习总结

    课程总概 该门课程作为java入门学习的第二季,是在有一定的java基础上进行的进一步学习.由于该季涉及到了java的一些核心内容,所以相对第一季来说,课程难度有所提升.大致可将该季的课程分为五部分: ...

  2. Java入门第一季学习总结

    一.课程总概 这门课程的学习难度属于入门级别,又由于有c++的基础,所以学习这门课程也是比较轻松的.可以简单地把这门课的学习分为四部分:第一部分,java的介绍(第一章):第二部分,java的数据类型 ...

  3. Java Script正则表达式语法学习

    今天在做页面交互验证时,在HTML里面第一反应居然用了Java 处理正则表达式的语法... ---------------------------------题记 学习来源 http://www.ru ...

  4. 微信小程序入门——Mustache语法学习

    微信小程序中用到了大量Mustache语法,特发此文学习一下 1.简单的变量调换:{{name}} 1 var data = { "name": "Willy" ...

  5. java入门---基础语法&基础常识&编码规范&命名规范

        一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如,一条狗是一个对 ...

  6. 【Java】基本语法学习笔记

    1.数组 *数组的创建 int[] array = {1,2,3,4,5}; 注意区别于C++ int a[] = (1)两种输出方法 public class number { public sta ...

  7. Java入门-浅析Java学习从入门到精通【转】

    一. JDK (Java Development Kit)  JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库 ...

  8. java入门经验分享——记面向对象先导课程学习感想

    选择在暑期学习面向对象先导课程的初衷是为大二下学期面向对象课程做一些铺垫,接触入门java语言.在接触java的过程中,就编程语言的学习方法而言,我从刚入学时的手慌脚乱四处寻求帮助到现在慢慢养成了自己 ...

  9. 动静结合?Ruby 和 Java 的基础语法比较(入门篇)

    前言 这篇文章示例代码比较多, Java 程序员可以看到一些 Ruby 相关语法和使用,Ruby 程序员可以看看 Java 的基本语法和使用方法,本文比较长,将近万字左右,预计需要十几分钟,如果有耐心 ...

随机推荐

  1. MAT使用及OOM分析

    知识及工具推荐 1.Android资源监控工具 2.Android内存管理机制 http://blog.csdn.net/hexieshangwang/article/details/47188987

  2. 出自 HTML4 规范的可用颜色字符串值列表(常用颜色名称及对应的十六进制值)

    据称由于 HTML5 没有修改专属的颜色,HTML4 的颜色都可以在 HTML5 中正确显示. 出自 HTML4 规范的可用颜色字符串值列表如下,此表来源是 http://www.lovean.com ...

  3. 《转》 在C++中使用TinyXML2解析xml

    读取和设置xml配置文件是最经常使用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,由于它的API接口和Java的十分类似.面向对象性非常好.       TinyX ...

  4. 【LeetCode】84. Largest Rectangle in Histogram——直方图最大面积

    Given n non-negative integers representing the histogram's bar height where the width of each bar is ...

  5. UNP学习笔记(第六章 I/O复用)

    I/O模型 首先我们将查看UNIX下可用的5种I/O模型的基本区别: 1.阻塞式I/O 2.非阻塞式I/O 3.I/O复用(select和poll) 4.信号驱动式I/O(SIGIO) 5.异步I/O ...

  6. 转jmeter 性能测试 JDBC Request (查询数据库获取数据库数据) 的使用

    JDBC Request 这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作.它经常需要和JDBC Connection Configuration配置原 ...

  7. Hdu3787

    <span style="color:#330099;">/* H - A+B Time Limit:1000MS Memory Limit:32768KB 64bit ...

  8. HDU 小明系列故事——师兄帮帮忙 高速幂

    小明系列故事--师兄帮帮忙 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) To ...

  9. SpringBoot启动流程分析(三):SpringApplication的run方法之prepareContext()方法

    SpringBoot系列文章简介 SpringBoot源码阅读辅助篇: Spring IoC容器与应用上下文的设计与实现 SpringBoot启动流程源码分析: SpringBoot启动流程分析(一) ...

  10. js 中的 prototype 和 constructor

    var a=function(){ this.msg="aa"; } a.prototype.say=function(){ alert('this is say');} 1.只有 ...