// 数组
// 定义: 数据类型+[] 变量名
// 数组名.length可以得到数组大小/长度 == sizeof()
// int[] a={1,2};
// int sum=0;
// 遍历
// for(int i=0;i<a.length;i++){
// sum+=a[i];
// System.out.println(a[i]);
// }
// System.out.println("sum="+sum);
// System.out.println("average="+(1.0*sum/a.length));
// 数组动态初始化
// 数组定义:
// 数据类型 数组名[(此处不像c语言可填数字)]={}
// 数据类型 数组名[]=new 数据类型[此处像c语言可填数字]
// 先声明数组,后创建数组
// int[] a;或int[] a;
// 再a=new int[x];
// int num[]={0};
// int abc[]=new int[5];
// for(int i=0;i<num.length;i++){
// System.out.println(num[i]);
// }
// 数组循环输入
// int score[]=new int[5];
// Scanner input=new Scanner(System.in);
// for(int i=0;i<score.length;i++){
// System.out.println("请输入第"+(i+1)+"个成绩");
// score[i]=input.nextInt();
// }
// for(int i=0;i<score.length;i++){
// System.out.println("第"+(i+1)+"个成绩为"+score[i]);
// }
// 数组静态初始化
// int a[]={x,x,x,x,x,};
// double a[]=new double[5];//数组中每个数默认为0
// for(int i=0;i<a.length;i++){
// System.out.println(a[i]);
// }
// 数组练习
// char arr[]=new char[26];
// for(int i=0;i<arr.length;i++){
// arr[i]=(char)('A'+i);
// }
// for(int i=0;i<arr.length;i++){
// System.out.println(arr[i]);
// }
// int a[]={4,-1,9,10,23};
// int maxindex=0,sum=0;
// for (int i=0;i<a.length;i++){
// sum+=a[i];
// if(a[maxindex]<=a[i]){
// maxindex=i;
// }
// }
// System.out.println(a[maxindex]);
// System.out.println("sum="+sum);
// System.out.println("average="+1.0*sum/a.length);
// 数组赋值是引用赋值,赋的是地址
// int[] arr1={1,2,3};
// int[] arr2=arr1;
// for(int i=0;i< arr2.length;i++){
// System.out.println(arr2[i]);
// }
// arr1[1]=4;
// for(int i=0;i< arr2.length;i++){
// System.out.println(arr2[i]);
//二维数组练习
// java中二维数组的每一行包含的元素可以不相同
// int arr[][]=new int[3][];
// for(int i=0;i<arr.length;i++){
// arr[i]=new int[i+1];
// for(int j=0;j<arr[i].length;j++){
// arr[i][j]=i+1;
// }
// }
// for(int i=0;i<arr.length;i++){
// for(int j=0;j<arr[i].length;j++){
// System.out.print(arr[i][j]);
// }
// System.out.print('\n');
// }
// 杨辉三角
// System.out.println("要生成几行杨辉三角?");
// Scanner input=new Scanner(System.in);
// int a=input.nextInt();
// int delta[][]=new int[a][];
// for(int i=0;i<delta.length;i++){
// delta[i]=new int[i+1];
// for(int j=0;j<delta[i].length;j++){
// if(j==0||j==delta[i].length-1){
// delta[i][j]=1;
// }else{
// delta[i][j]=delta[i-1][j-1]+delta[i-1][j];
// }
// }
// }
// for(int i=0;i<delta.length;i++){
// for(int j=0;j<delta[i].length;j++){
// System.out.print(delta[i][j]+"\t");
// }
// System.out.print('\n');
// }
// 二维数组插入练习
// int arr1[]={10,12,45,90};
// int num=23;
// int arr2[]=new int[arr1.length+1];
// int index=-1;
// for(int i=0,j=0;i<arr1.length;i++){
// if(arr1[i]>=num){
// index=i;
// break;
// }
// }
// if(index==-1){
// index= arr1.length;
// }
// System.out.println(index);
// for(int i=0,j=0;i<arr2.length;i++){
// if(i==index){
// arr2[index]=num;
// }else{
// arr2[i]=arr1[j];
// j++;
// }
// }
// for(int i=0;i<arr2.length;i++){
// System.out.print(arr2[i]+" ");
// }
// 生成随机数
// int a=(int)(Math.random()*10);//生成[0,10)的随机数
// System.out.println(a);
// 类与对象
cat cat1=new cat();//直接创建
// cat cat2;
// cat2=new cat();先声明在创建
cat1.name="1";
cat1.age=1;
cat1.color="1";
// System.out.println(cat1.age+" "+cat1.name+" "+cat1.color);
// 方法调用
cat1.speak();//调用方法
Scanner a=new Scanner(System.in);
int n=a.nextInt();
System.out.println(cat1.jiahe(n));
}
}
// 类与对象 约等于结构体
class cat{
String name;
int age;
String color;
// 方法 类似c语言的函数,但是是在对象里面写的
// 方法写好后,不调用就不输出
public void speak(){ //void 是返回值类型 ()内放形参
System.out.println("111");
}
public int jiahe(int n){
int sum=0;
for(int i=1;i<=n;i++){
sum+=i;
}
return sum;
}
}
//访问修饰符:public protected private 默认 一共四种
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
ma abc=new ma();
Scanner input=new Scanner(System.in);
int n=input.nextInt();
System.out.println(abc.jiecheng(n));
}
static class ma{
public int jiecheng(int n){
int ret=1;
if(n!=1){
ret=n*jiecheng(n-1);
}
return ret;
}
}
}