![見出し画像](https://assets.st-note.com/production/uploads/images/97207449/rectangle_large_type_2_79ae2f46eee2ae9c54ea153aa746a679.jpg?width=800)
JavaSprict勉強中!(随時更新)
はじめに
ビュー増えてきて嬉しいですが、見づらくてすいません。
見やすくまとめていきます・・・
新たなチャレンジとしてwebエンジニア関連の勉強を始めました。
JavaSprictにも挑戦中。勉強内容をこちらにまとめていきます。
■勉強のツールとして「paizaラーニング」を利用しています
無料アカウントでできる範囲で挑戦中です!
〜習うより慣れる派〜
word
クラスとインスタンス
クラス(テンプレート):構造の部分
インスタンス:クラスを基に出力する
Study
引数:()カッコの中の数値
結果の数値:戻り値、返り値
文字列、数値=データ型
変数:データの入れ物
計算式
+(和) -(差) *(積) /(商) 基本の形
2乗・3乗 値 ** 数値(乗) 5**3=5の3乗
べき乗演算子 (数値回数)5 ** 3 = 125
割り算のあまりのみ表示 %
割り算の切り捨て equation(式) | 0 ;
// 切り捨て var a = Math.floor( 1.5 ) ;
// 切り上げ var b = Math.ceil( 1.5 ) ;
// 四捨五入 var c = Math.round( 1.5 ) ;
絶対値 Math.abs(ooo)
小数点以下の表示
console.log(number1.toFixed(2)); // '1.01'
var n = 2 ;//小数点第n位 Math.floor( 1.4444*Math.pow(10,n)); (/も同様)
奇数偶数判定 const number = lines[0]
if(number %2 === 0 ){
console.log("偶数");
}else{
console.log("奇数"); } });
if文シリーズ
//37.0以下はOK/以上NG
let num = lines[0];
if(num >37.0 ){
console.log("NG"); }else{
console.log("OK"); } });
//30~34のみOKを表示
let num = lines[0];
if(29 < num && num < 35){
console.log("OK"); }else{
console.log(num); } });
//'文字列'との一致でYes/それ以外はNo
let word = lines[0];if(word =='文字列')
{console.log('Yes');}else{console.log('No');}});
//0以上30以下"sunny"31以上70以下"cloudy"71以上"rainy"
let num = lines[0];
if(num <30 ){ console.log("sunny"); }else{
if(num <71 ){ console.log("cloudy"); }else{
console.log("rainy"); } } });
//2百の位を'Yes'4百の位を'No'それ以外は'Unknown'
if( 199 < num && num < 300 ){ console.log("ok");}else{
if( 399 < num && num < 500 ){ console.log("error");}else{
console.log("unknown"); }} });
//returnで最大数の制御
let a =lines[0].split(' ');let x =a[0];let y =a[1];
const ans = (num) => {if (num > 5) {return 5;} else {return num;}};
const total = Number(ans(x)) + Number(ans(y));console.log(total);});
//【条件式に論理演算子[AかつB]and(&&)[AまたはB]or(||)[Aではない]not(!)】
// chocolate,candyは「Thanks!」それ以外は「No!」
let num = lines[0]; if(num == 'chocolate' ||num == 'candy' ){
console.log("Thanks!"); }else{ console.log("No!"); } });
for文シリーズ
//1行目が2行目以降の数理の数 その数の合計を算出
let x=Number(lines[0])+1; s=0;
for(k=1;k<x;k++) s=Number(s)+Number(lines[k]);
console.log(s);
//指定数値まで連続して改行で表示
let num = Number(lines[0]);
for (let i = 1 ; i <= num; i++) { console.log(i);
//1000個の数値を出力 空欄空けて並びで配列
const arr = []; for (let i = 1; i <= 1000; i++) { arr.push(i); }
// arr に 1〜1000 を保存
console.log(...arr); // 展開して出力
文字列系
文字列 ' ooooo ';
文字を4回繰り返す
let str = 'Good!'; console.log(str.repeat(4));
文字列を改行して表示(\n)を入れる ab cd ef=c.l('ab\ncd\nef');
又はconsole.log(num[0]+ '\n' +num[1]+ '\n' +num[2]);
大文字:toUpperCase() 小文字:toLowerCase()
頭のみ大文字=str.charAt(0).toUpperCase() + str.slice(1);
宣言(constやlet)した変数をくっつける console.log(a+b+c)
+ ' / ' + で間に/が入る 「/」じゃなくてもok
文字列を数える const a = num[0].length
文字数の配列を区切る(分割) =文字列.split(' ');
+数値型の配列で返す =入力値.split(' ').map(Number);
+文字列のn番目表示 =文字列.split(' ')[n];
文字列の置換 =.replace( '_', '-' );
+文字列の置換(all) =let a =lines[0].replace(/-/g, '_' );c.l(a);
文字列の空欄削除 = str.replace(/\s+/g,'');
文字列の回文 =const str= '文字列';
const text=str.split('').reverse().join('');console.log(text);
文字列X番目まで表示=substring(開始位置, 番目)
let str =文字列; let text = str.substring(0, X);c.l(text);
文字を指定してカウントする
var text = lines[0] ; var targetStr = "A" ;
var count = ( text.match( new RegExp( targetStr, "g" ) ) || [] ).length ;
console.log(count);
n番目の文字を表示
var num = 文字列.charAt(n); c.l(num);
指定数値からカウントダウン
var countdown = lines[0];{ while (countdown > 0 ){ console.log(countdown); countdown = countdown - 1;
join(',')を使って 2つの配列の要素を','で結合
console.log(o[0],o[1].join(','));
nまでの和 1<=n<=100の場合
let num = lines[0]; let sum = 0; for ( let i = 1; i <= num; ++ i )
sum = sum + i; console.log(sum);
1から順番にN番目まで足していく
var num = 0; for(var i=1 ; i<=lines[0] ; ++i ) num += i; console.log( num );
数値の大きいもの=max(小さいもの=min)を出す
console.log(Math.max(a,b,c));/(Math.min(a,b,c));
スペースの配列を,にする。配列の最大値を出す。
const nums = lines[0].split(' ').map(Number);const max = Math.max(...nums);c.l( max );
配列を足す num[0]~[5]を足す
let x = num[0].split(' '); sum = 0;for( i=0 ; i<=4 ; ++i ) {
sum = sum + Number(x[i]); } c.l(sum);
2つの数値の大きい方から小さい方を引く
let num =’数値’.split(' '); let D =Math.max(num[0],num[1]);
let S =Math.min(num[0],num[1]); console.log(D-S);
ランダム数値 Math.random()
1000 個の数値を出力 空欄空けて並びで配列
const arr = [];
for (let i = 1; i <= 1000; i++) { arr.push(i); } // arr に 1〜1000 を保存 console.log(...arr); // 展開して出力
結果文字列を無理やり数値にする c.l(Number(ooo)+式とか);
// 改行区切りの入力を S に保存
const S = []; for (let i = 0; i < 10; i++) { S.push(lines[i]); }
console.log(...S); }
//表示項目を改行する
[lines[0], lines[1]]; console.log(S + '\n' + T);
[while文]1から10行目まで改行表示する
var count = 0;//変数countを0で初期化
while(count<=9){ console.log(lines[count]); //変数countの中身を出力
count++; } //変数countに1を足す
コメントアウト →1行= // 囲う= /*〜〜〜〜*/
ショートカット=command+/
filterを使った配列で特定の要素をカウントする方法
let array = [a,b,c,d,a,b,c,a];// 要素数を数える
let count =array.filter(function(x){return x==='a'}).length;c.l(count);//3
関数(function)とはなにか
関数とは、複数の処理をひとまとまりにしたものです。メソッドと呼ばれることもあります。JavaScriptにおける基本的な構成要素のひとつで、Function型のオブジェクトとして扱われます。関数をオブジェクトとして扱うことが出来るのはJavaScript特有の特徴
関数を利用することで目的ごとに処理を分割したり、似たような処理を何度も書かなくて済むようにな
var、let、constについて
・varを用いた再代入
var techacademy = '代入1回目';
techacademy = '代入2回目'
letでも記述方法は同様。
let techacademy = '代入1回目';
techacademy = '代入2回目'
//注意:再代入する際は、var・letを書いてはいけない
constだけ再代入はエラーになる。
・varは関数スコープ
varはlet、constに比べて広いスコープを持っている。
関数内でvarを用いて宣言した変数は、その関数をどこからでも呼び出すことが可能です。
//条件式の中で宣言
//条件式の外で呼び出しても、関数内なので1が表示される
・let, constはブロックスコープ
ブロックとは、{}で括られた処理のことです。
let、constを使うと、同じ関数内であってもブロックの外側からは変数を呼び出せません。
・constを基本的に使う
再宣言、再代入のどちらもできないことに加えて、スコープも狭いconstは最も制約が多いからこそ、意図しない実装を防ぐ = 安全なキーワード
letはconstを使えないときに使う
変数の値の型について
変数の型は、変数が保持するデータの型に基づいている。
・ 文字列(string);テキストの一部を表す。値を引用符で囲む("")('')で囲む。
・ 数値(Number);数値は、数学演算を実行できる数値を表す。
数字を書くだけで、小数点以下の桁数(ある場合)を区切るには、ドット(1または23.044)を使用します。
・ ブール値(boolean);フラグを表し、ステータスはtrueまたはnotのいずれか。使用できる値は、trueおよびfalseの2つだけ。
・ null;値がないことを示す特殊な型
・ undefined;変数が存在しないことを示す特殊な型です。
・ NaN (Not a Number);数値が予期されていたために操作が失敗したが、別の型が見つかったことを示す特別な型です。
udemy_学習記録
Chrome「検証」のショートカット=command+shift+c
変数=値に名前をつけて一時的に保持できる入れもの。変更が可能
定数=変化しない値に名前をつけて一時的に保持できる入れもの。変更不可
キャメルケース=単語の先頭を大文字にして繋げる表記方法
ローワーキャメルケース=先頭の文字を小文字にする表記方法
予約語=プログラムで使うために予約されているキーワード
エスケープシーケンス=文字列で表せない特殊文字を表現する方法
→[\]を使う。\' =ショートカット[option+¥]この処理を「エスケープ」
→[\] をエスケープシーケンスを言う
【GOOGLEJAVASCRIPTスタイルガイド】googleのコーディング規約
[++;]インクリメント=数値の値を1増加させる
[--;]デクリメント=数値の値を1減少させる
条件分岐
if / else if / else
const x = 10; 90以上[A] 80−89[B] 60-79[C] 0-59[D]
if(x >= 90) {
console.log('A');
} else if(x >= 80) {
console.log('B');
} else if(x >= 60) {
console.log('C');
} else {
console.log('D');
}
比較演算子の種類
== 等しい/ != 等しくない/ === 厳密に等しい/ !== 厳密に等しくない
> より大きい/ >= 以上/ < より小さい/ <= 以下
==の場合 100と'100'は「同じ」と判断する
===の場合 100と'100'は「同じでなはい」となる
switchの条件分岐
const n = 1; /1=one /2=two /3=three /4=other
switch(n) {
case 1:
console.log('one');
break;
case 2:
console.log('two');
break;
case 3:
console.log('three');
break;
default:
console.log('other');
break;
} ※break忘れやすいので注意!
繰り返し処理(反復処理)
for / while / do while
for (初期化式; ループ継続条件式; 増減式){} / while(条件式) {}
for (let i = 1 ; i <= 3; i++ ){
console.log(i) }
let i = 1;
while(i <= 3) {
console.log(i);
i++; }
let i = 1;
do {
console.log(i);
i++;
} while(i <= 3);
配列を使った点数の集計
'use strict';
// [100, 90, 80, 70, 60]の合計・平均を求める。.lengthを用いる。
const scores = [100, 90, 80, 70, 60];
let sum = 0;
for (let i = 0; i < scores.length; i++) {
// +=でくり返しの足し算になる
sum += scores[i];
}
const average =sum / scores.length;
console.log(sum);
console.log(average);
関数の定義4種類
function /関数リテラル /Functionコンストラクターで定義 /アロー関数
アロー関数は[function(~,~) { ]を[ (~.~) => { ]に変える関数(新しい)
引数とは
関数の呼び出した元から、関数への値を渡すときに使う特別な変数
この記事が気に入ったらサポートをしてみませんか?